if FileOpen(文件路径, fmOpenRead or fmShareExclusive) < 0 then ShowMessage('已经打开');
关闭外部应用程序 下面给出一段在 Delphi 中关闭"计算器"程序为例: var HWndCalculator : HWnd; begin // find the exist calculator window HWndCalculator := Winprocs.FindWindow(nil, '计算器'); // close the exist Calculator if HWndCalculator <> 0 then SendMessage(HWndCalculator, WM_CLOSE, 0, 0); end;
朋友,这个简单,代码如下: VAR H:THANDLE; FileName:string; beginFileName:=‘.exe文件的路径';H:=findwindow(nil,'.exe文件的名字'); if H=0 then BEGIN winexec(pchar(FileName),SW_SHOWNORMAL); SHOWWINDOW(H,SW_SHOWNORMAL); SETFOREGROUNDWINDOW(H); END ELSE BEGIN SHOWWINDOW(H,SW_SHOWNORMAL); SETFOREGROUNDWINDOW(H); END; end;这个功能我是用API函树完成的,你试试,记得买单哦,呵呵
用FindWindow(nil,你要找的程序的标题 )查找该程序的句柄 然后用sendmessage(刚才查到的句柄,wm_close,0,0)关掉它 下面给出一段在 Delphi 中关闭"计算器"程序为例: var HWndCalculator : HWnd; begin HWndCalculator := Winprocs.FindWindow(nil,你要找的程序的标题); if HWndCalculator <> 0 then//不是0 则处于打开状态 SendMessage(HWndCalculator, WM_CLOSE, 0, 0); end;
ShowMessage('已经打开');
下面给出一段在 Delphi 中关闭"计算器"程序为例:
var
HWndCalculator : HWnd;
begin
// find the exist calculator window
HWndCalculator := Winprocs.FindWindow(nil, '计算器'); // close the exist Calculator
if HWndCalculator <> 0 then
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;
VAR H:THANDLE;
FileName:string;
beginFileName:=‘.exe文件的路径';H:=findwindow(nil,'.exe文件的名字');
if H=0 then
BEGIN
winexec(pchar(FileName),SW_SHOWNORMAL);
SHOWWINDOW(H,SW_SHOWNORMAL);
SETFOREGROUNDWINDOW(H);
END
ELSE
BEGIN
SHOWWINDOW(H,SW_SHOWNORMAL);
SETFOREGROUNDWINDOW(H);
END;
end;这个功能我是用API函树完成的,你试试,记得买单哦,呵呵
然后用sendmessage(刚才查到的句柄,wm_close,0,0)关掉它
下面给出一段在 Delphi 中关闭"计算器"程序为例:
var
HWndCalculator : HWnd;
begin
HWndCalculator := Winprocs.FindWindow(nil,你要找的程序的标题);
if HWndCalculator <> 0 then//不是0 则处于打开状态
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;