在命令行参数中处理含空格的文件名!!!(50分)

  • 主题发起人 主题发起人 至尊王
  • 开始时间 开始时间

至尊王

Unregistered / Unconfirmed
GUEST, unregistred user!
如程序文件:MYAPP.EXE
文本文件:"the file 1.txt"

想要实现使用 MYAPP the file 1.txt 打开文本文件处理,
但系统将文件名分成了三个参数:
ParamStr(1)='the'
ParamStr(2)='file'
ParamStr(3)='1.txt'
请问如何得到完整的文件名?

 
在我的电脑中双击the file 1.txt 时
用GetCommandLine() 得到整个命令行,在WinXP中为:MYAPP.exe the file 1.txt
在Win98中为:"MYAPP.exe" the file 1.txt
有时有“” 有时没有 “”! 不知为何?
 
ParamStr[0]就是程序名本身,应该不用理会。

可以用双引号MYAPP "the file 1.txt"
 
在我的电脑中时,你无法控制是否用双引号!
 
我自己解决了!不过大家还可以发表,到时发红包!
 
见者又份!
 
我知道了,你要作了一个txt文件关联的程序:

var
txtstr : string;
ct : word;
begin
setlength(txtstr,119);
txtstr:='';
for ct:=1 to paramcount do
txtstr:=txtstr+' '+paramstr(ct);
txtstr:=trim(txtstr);
winexec(pchar('c:/windows/notepad.exe '+txtstr),sw_normal);
end;
调试通过了喔!!!
 
后退
顶部