大家請幫忙,如何判斷ShellExecute打開文件失敗(100分)

  • 主题发起人 主题发起人 aikede
  • 开始时间 开始时间
A

aikede

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ShellExecute打開文件,若文件路徑錯誤,沒有提示信息,我想判斷文件打開是否成功,若失敗則給一個提示信息,若何判斷,謝謝大家。
 
var
hInstance:LongInt;
begin
hInstance:=ShellExecute(0,'open','notepad.exe',nil,nil,SW_SHOW);
if hInstance<=32 then
begin
ShowMessage('Error');
end;
end;
 
用对话框打开不行么,我试了一下!没有实现
 
判断程序的进程,如果有,则已打开,
var
lppe:tprocessentry32;
sshandle:thandle;
hh:hwnd;
found:boolean;
begin
sshandle:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);
found:=process32first(sshandle,lppe);
while found do
try
if (uppercase(extractfilename(lppe.szExeFile))='你的程序名.EXE') then
showmessage('程序已打开‘);

found:=process32next(sshandle,lppe);
finally
end;
CloseHandle(sshandle);
 
根据返回值判断.
 
建议用winexec
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
800
import
I
I
回复
0
查看
770
import
I
后退
顶部