全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3343
推到 Plurk!
推到 Facebook!

如何得知某個exe file 正在「跑」?

 
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-06-25 11:42:42 IP:61.218.xxx.xxx 未訂閱
as title 要怎麼知道某個.exe 是否正在執行?
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-06-25 14:43:11 IP:61.231.xxx.xxx 未訂閱
引言: as title 要怎麼知道某個.exe 是否正在執行?
可以參考 bruce0211 的「心得分享系列 」 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18760 其中有介紹到 FindWindow() 的 API 可以用來作您想要的判斷。
------
http://www.ViewMove.com
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-06-28 11:49:37 IP:61.218.xxx.xxx 未訂閱
我的exe檔是檔名相同,但form的title是不同的 若用findwindow()的話,好像不行說
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-01 10:05:51 IP:61.231.xxx.xxx 未訂閱
引言: 我的exe檔是檔名相同,但form的title是不同的 若用findwindow()的話,好像不行說
Form 的 Title 不同沒有關係(就給它 nil 就好了), Form 的物件應該是固定的吧,用 Form 的物件名稱就可以了。如果連 Form 的物件名稱都不固定... 那我就不知道要如何作了
------
http://www.ViewMove.com
天外來客
初階會員


發表:22
回覆:199
積分:44
註冊:2001-11-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-07-04 11:57:50 IP:210.208.xxx.xxx 未訂閱
我的心得分享文章系列 有討論到FindWindow "概略搜尋"的問題 即Form 名稱可以不用固定名稱 .... bruce0211
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-07-13 09:36:39 IP:192.168.xxx.xxx 未訂閱
利用程式名稱偵測,請見:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19350 利用用執行檔名偵測,請見:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19353 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
jarsing
一般會員


發表:2
回覆:3
積分:1
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-07-16 03:10:02 IP:61.224.xxx.xxx 未訂閱
引言: as title 要怎麼知道某個.exe 是否正在執行?
uses TlHelp32; var hSS: THandle; ProcEntry32: PROCESSENTRY32; bFound: Boolean; iCount: Integer; begin bFound := False; iCount := 0; hSS := CreateToolHelp32Snapshot(TH32CS_SNAPALL, 0); ProcEntry32.dwSize := sizeof(ProcEntry32); if Process32First(hSS, ProcEntry32) then begin repeat if ProcEntry32.szExeFile = Application.ExeName then begin Inc(iCount); if iCount > 1 then begin bFound := True; Break; end; end; until not Process32Next(hSS, ProcEntry32); CloseHandle(hSS); end; if bFound then Exit; end; iCount為你用Ctrl Alt Del觀察時出現的Test.exe數目 若此值大於1則顯然得知此exe file已經在「跑」了 -- jarsing 發表人 - jarsing 於 2002/07/16 03:10:39
天外來客
初階會員


發表:22
回覆:199
積分:44
註冊:2001-11-27

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-08-14 19:36:27 IP:203.149.xxx.xxx 未訂閱
請教各位大大: 我按照http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19353的作法,似乎只能偵測到自己的程式名稱,如果我到工作管理員-->處理程序找一個已在執行的exe檔,似乎判斷不出來.....是我的程式碼有錯嗎,我的程式碼如下??我的程式是project2.... unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} Function ApplicationUse(fName : string ) : boolean; var HFileRes : HFILE; begin Result := false; if not FileExists(fName) then exit; HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end; procedure TForm1.Button1Click(Sender: TObject); begin if ApplicationUse('project2.exe') then showmessage('project1.exe is running') else showmessage('*************************'); end; end. 謝謝大家.....
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-02-13 18:47:35 IP:203.204.xxx.xxx 訂閱
 供參考

[發表] 顯示目前執行的程序(Process List) (含Source Code)
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=86821
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
系統時間:2024-04-27 12:07:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!