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;
相关文章推荐
- 关于delphi中url文件下载编码问题(处理里面含有空格,汉字,字符)
- 关于java文件下载文件名乱码问题解决方案
- 用Excel打开csv文件时,如何处理数字内容展现会自动转换格式的问题
- Delphi获取文件名、文件名不带扩展名、文件名的方法;delphi 获取文件所在路径
- HTTP 文件下载时中文文件名乱码问题处理
- 关于:装了Visual.SourceSafe.2005之后,打开VS2005-文件,找不到源代码管理这项的问题
- 关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包
- 关于 Win7 不能打开 .chm 文件的问题
- jsp中打开pdf文件:中文目录(中文文件名)问题
- GNS3打开拓扑文件后提示“206-unable to create UDP NIO”问题处理方法
- 关于tomcat服务器无法打开文件名为中文名的页面的问题
- 关于windows远程设置问题如下: 1.首先运行sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 【文件不一定在etc/mysql/my.cnf】 在打开文件后
- 关于PHP中Session文件过多的问题及session文件保存位置
- VS2010安装包制作 [桌面快捷图标 右键属性 打开文件位置]问题解决
- 关于CSV文件 Excel打开乱码问题的解决方案
- GVIM脚本——打开当前文件所在位置
- 关于ios 11.X后微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等问题的处理
- 关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包
- 关于不打开文件批量转换的版本问题
- adt或者eclipse打开文件所在位置的插件