K
kde
Unregistered / Unconfirmed
GUEST, unregistred user!
我通过在注册表中c:/myapp.exe '%1'和其它相应的项把程序myapp和.jpg格式的文件关联,
然后再myapp的FormCreate中检查ParamCount,如果它大于0,则打开ParamStr(1)对应的文
件。当双击短文件名的jpg文件时,一切正常,但是双击长文件名的jpg文件,则从
ParamStr(1)得到的是长文件名对应的短文件名,这样我的程序中处理就有问题(因为要
调用TFileListBox.ApplyFilePath(ParamStr(1)),而ApplyFilePath处理短文件名有问题)。
请问应该如何解决? 我曾尝试用SHGetFileInfo(PChar(FileName), 0, Info, Sizeof(Info),
SHGFI_DISPLAYNAME)将ParamStr(1)转回长文件名,但发现转换后原来文件中的路径都没有了,
当然也就无法处理路径中包含长文件名的问题,请问还有无更好的方法。
然后再myapp的FormCreate中检查ParamCount,如果它大于0,则打开ParamStr(1)对应的文
件。当双击短文件名的jpg文件时,一切正常,但是双击长文件名的jpg文件,则从
ParamStr(1)得到的是长文件名对应的短文件名,这样我的程序中处理就有问题(因为要
调用TFileListBox.ApplyFilePath(ParamStr(1)),而ApplyFilePath处理短文件名有问题)。
请问应该如何解决? 我曾尝试用SHGetFileInfo(PChar(FileName), 0, Info, Sizeof(Info),
SHGFI_DISPLAYNAME)将ParamStr(1)转回长文件名,但发现转换后原来文件中的路径都没有了,
当然也就无法处理路径中包含长文件名的问题,请问还有无更好的方法。