線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:884
推到 Plurk!
推到 Facebook!

OneInst (判斷AP是否重複執行)

尚未結案
roger128
初階會員


發表:27
回覆:45
積分:25
註冊:2002-08-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-24 14:48:55 IP:61.64.xxx.xxx 未訂閱
unit OneInst; interface uses Windows, SysUtils, Forms; function CheckInstance:boolean; implementation var MyAppName, MyClassName: array[0..255] of Char; NumFound: Integer; LastFound, MyPopup: HWND; function LookAtAllWindows(Handle: HWND; Temp: LongInt): BOOL; stdcall; var WindowName, ClassName: Array[0..255] of Char; begin if (GetClassName(Handle, ClassName, SizeOf(ClassName)) > 0) and (StrComp(ClassName, MyClassName) = 0) and (GetWindowText(Handle, WindowName, SizeOf(WindowName)) > 0) and (StrComp(WindowName, MyAppName) = 0) then begin Inc(NumFound); if Handle <> Application.Handle then LastFound := Handle; end; Result:= True; end; function CheckInstance:boolean; begin Result:=false; NumFound := 0; LastFound := 0; GetWindowText(Application.Handle, MyAppName, SizeOf(MyAppName)); GetClassName(Application.Handle, MyClassName, SizeOf(MyClassName)); EnumWindows(@LookAtAllWindows, 0); if NumFound> 1 then begin MyPopup := GetLastActivePopup(LastFound); BringWindowToTop(LastFound); if IsIconic(MyPopup) then ShowWindow(MyPopup, SW_RESTORE) else SetForegroundWindow(MyPopup); Application.Terminate; Result:=true; end end; end.
系統時間:2024-04-21 0:08:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!