我已将“.file_5”扩展名与我的应用程序相关联,并使用 Delphi 中的 ParamStr(1) 函数显示一个消息框,其中包含文件的路径和文件名,当我使用下面的代码在资源管理器中双击它时。
procedure TForm1.FormCreate(Sender: TObject);
var
TheFile : string;
begin
TheFile := ParamStr(1); //filename for the file that was loaded
ShowMessage(TheFile);
end;
这可行,但如果我将文件移动到另一个位置,然后是它原来所在的位置,那么显示的消息不正确。
示例:(使用 test.file_5)
该文件的原始位置在 C:\ 驱动器中,当我双击它时,我的应用程序启动并显示一个消息框,上面写着:
C:\test.file_5
这是对的。例如,如果我将同一个文件移动到包含程序文件夹等空格的目录,则显示的 Messagbox 不是
C:\Program Files\test.file_5
就像我期望的那样
C:\PROGRA~1.FILE_
这显然不是我所追求的信息,所以我的问题是如何使用 ParamStr() 函数来考虑其中包含空格的目录,或者我应该使用更好的函数来处理包含空格的目录他们。