您的位置:首页 > 运维架构 > Shell

delphi中关于ShellExecute打开文件所在的位置(处理文件名中有逗号,单引号问题)

2013-11-23 08:01 459 查看

在delphi中,引用ShellAPI单元,可以用shellexecute方法 打开文件所在的位置并且定位到文件,但是在文件名种含有逗号(中,英文输入法)或者有单引号(英文输入法)的时候,会提示找不到文件所在的位置。这是需要把文件的路径处理下,即可。代码如下,仅供参考:本人用的delphiXE版本

// 处理含有逗号的方法

function TForm1.TeShuFileName(FFilename: string): string;

var

i:Integer;

newfilename:string;

begin

for i := 1 to Length(FFilename) do

begin

if (FFilename[i]=',') or (FFilename[i]=',') then

newfilename :=newfilename +'"'+FFilename[i]+'"'

else

newfilename :=newfilename+FFilename[i];

end;

Result :=newfilename;

end;

//以下是使用

procedure TForm1.Button2Click(Sender: TObject);

var

str:string;

begin

if OpenDialog1.Execute then

begin

str:=OpenDialog1.FileName;

end;

str:=TeShuFileName(str);

ShellExecute(Handle, nil, 'Explorer.exe', PChar(Format('/e,/select,%s',[str])), nil, SW_NORMAL);

end;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐