如何刪除在背景跑的程序? |
答題得分者是:Zard
|
show
初階會員 發表:57 回覆:48 積分:31 註冊:2003-05-24 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 請問如果我工作管理員有一隻abc.exe再執行 但我要刪除他的所在目錄,因為他還在執行所以無法刪除檔案 查詢一下大概是抓取handle..然後得到id..但是他不是視窗@@~ 在背景跑...那我要如何透過執行檔名抓取process id然後刪除他呢? 另外是不是透過這種方式~在win98下會不相容? 想說看windows有沒有自己comman line~可以去呼叫來結束背景程式...@@ 給你個方向, Step 1: 在只知道執行檔名稱的情形下, 用Tool Help Library 的 CreateToolhelp32Snapshot, Process32First, Process32Next 三個函式來列舉目前所有的行程, 在列舉過程中, Tool Help Library 會告訴你幾個重要的值, 就是Process ID, 和Process Name(*.exe), 藉由比對字串的方式你可以找到某個正在執行中 的執行檔的Process ID. Step 2: 有了Process ID, 你就可以用OpenProcess() 來取得該行程的Handle. Step 3: 有了Process 的Handle, 就可以用TerminateProcess() 來結束該行程. 這個方式 Win95/98/ME/NT/2000/XP 都可行. |
show
初階會員 發表:57 回覆:48 積分:31 註冊:2003-05-24 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
|
show
初階會員 發表:57 回覆:48 積分:31 註冊:2003-05-24 發送簡訊給我 |
引言:你好~ 我參考這一篇 http://delphi.ktop.com.tw/topic.php?topic_id=19095 關於SE_DEBUG_NAME他透過呼叫一個副程式 這樣就提升權限?可是我試過都沒反應...殺不掉引言: To Zard~ thanks~請問當程式...是註冊成service情形下 使用者名稱是SYSTEM~~在背景跑 在XP好像無法刪除ㄟ@@~~ 如果使用者名稱是Administrator就可以刪除..例如我執行小算盤 我就可以刪除...但service的就不能@@ 有其他方法嗎???有些系統的Service好像無法刪除. 刪除任何行程的方法為提升自身程式的權限為SE_DEBUG_NAME. |
show
初階會員 發表:57 回覆:48 積分:31 註冊:2003-05-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |