怎样才能正确获取文件的长文件名(30分)

  • 主题发起人 主题发起人 waiwai
  • 开始时间 开始时间
W

waiwai

Unregistered / Unconfirmed
GUEST, unregistred user!
如果设置了关联的文件在打开时注册表中又没有"%1",怎样才能正确获取长文件路径呢?
 
用 if (ParamCount > 0) and FileExists(ParamStr(1)) then FileOpenClick(ParamStr(1)) 的方法不能识别长文件名,有没有别的方法?
 
注册表中一定要有"%1",而且引号是必须的(支持文件名中的空格).
要不然,试一试依次分析ParamStr(1),ParamStr(2),ParamStr(3)...
 
长文件名主要指文件路径和文件名中有空格的那种
 
如果有"%1"可以,要是没有呢,我见有的程序没有也可以打开,而且不管文件名中有多少空格
 
比如文本文件,Windows自带的NotePad在没有"%1"的情况下也可以顺利打开
 
各位帮忙!行的话另外奉送50分
 
>>Windows自带的NotePad在没有"%1"的情况下也可以顺利打开
何以见得呢? 好像不是的.
 
确实没有"%1"也能打开,不信你试试
 
抱歉,我前面没看清题目.

的确,没有"%1"也可以,反正默认是"%1".

不过你在delphi程序里面读取命令行参数的时候,不要用paramstr,而应该用
CmdLine这个系统变量. 比如:

用abc.exe打开"111 111 111.txt",CmdLine的值为:
"abc.exe 111 111 111.txt"

注意他包括exe文件本身
 
接受答案了.
 
后退
顶部