Delphi 7.0 中如何使用ShellExecute 语句打开当前文件夹中的指定exe文件? 10
初学Delphi,假设当前的文件夹中有app.exe文件,才用ShellExecute该如何编写?另,假设编写好的Project1.exe文件在C盘的Test目录下,ap...
初学 Delphi, 假设当前的文件夹中有app.exe文件,才用ShellExecute该如何编写?
另,假设编写好的Project1.exe文件在 C盘的Test目录下,app.exe也在该目录下。 如何编写才能实现,无论这个Test目录拷贝到 D盘 或是其他盘,都可以运行呢 ?
还有,如果把该test文件夹拷贝到一台新的电脑,从未运行或注册过这个app.exe,该如何编写ShellExescute 语句? 展开
另,假设编写好的Project1.exe文件在 C盘的Test目录下,app.exe也在该目录下。 如何编写才能实现,无论这个Test目录拷贝到 D盘 或是其他盘,都可以运行呢 ?
还有,如果把该test文件夹拷贝到一台新的电脑,从未运行或注册过这个app.exe,该如何编写ShellExescute 语句? 展开
1个回答
2014-09-17
展开全部
示例纯判搏,希望有用:
uses
fmxutils,shellapi,..................
procedure TForm1.Button7Click(Sender: TObject);
var
para:array[0..255] of char;
i:integer;
f_name:string;
begin
if (edit2.text='') then
else begin
f_name:=edit2.text;
executefile('foxprow',f_name,'冲租',sw_restore); //方法一
for i:=0 to 255 do para[i]:=chr(0);
for i:=0 to length(f_name)-1 do para[i]:=f_name[i+1];
shellexecute(hinstance,nil,'foxprow',para,'',sw_restore); //做祥方法二
end;
end;
uses
fmxutils,shellapi,..................
procedure TForm1.Button7Click(Sender: TObject);
var
para:array[0..255] of char;
i:integer;
f_name:string;
begin
if (edit2.text='') then
else begin
f_name:=edit2.text;
executefile('foxprow',f_name,'冲租',sw_restore); //方法一
for i:=0 to 255 do para[i]:=chr(0);
for i:=0 to length(f_name)-1 do para[i]:=f_name[i+1];
shellexecute(hinstance,nil,'foxprow',para,'',sw_restore); //做祥方法二
end;
end;
追问
没有看懂,因为我是初学。 如果能稍微解释一下,我将持续奖励50积分。谢谢。
追答
fmxutils单元在delphi的示例程序中,搜索一下可以找到。用这个单元中的executefile过程达到你的目的更简单。
executefile过程的4个参数分别为:执行文件名、命令行参数、缺省目录、窗体模式
(其中“执行文件名”可以是带路径的,如此则第3个参数可以是空串)
在当前目录调用的程序如下:
uses
fmxutils,..................
procedure TForm1.Button1Click(Sender: TObject);
begin
executefile('app.exe','','',sw_restore); // 方式A
如果app.exe在c:盘的test目录下,则上面executefile语句改为:
executefile('c:\test\app.exe','','',sw_restore); // 方式B
如果你的app.exe要能在任何地方都能运行,请将其拷贝到windows\system32目录中 或者将其所在的路径加到windows的环境变量(搜索路径)中。如此project1.exe在任意目录都可以按“方式A”打开app.exe 。
delphi的可执行文件是不用注册的,是绿色软件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询