如何關閉其他應用程式 |
尚未結案
|
kkccgg
初階會員 ![]() ![]() 發表:50 回覆:54 積分:30 註冊:2002-07-28 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
demon1042001
一般會員 ![]() ![]() 發表:14 回覆:19 積分:6 註冊:2002-06-12 發送簡訊給我 |
user TlHelp32 var
spid:Integer; function ApplicationUse(fName : string) : boolean;
var
hSS: THandle;
ProcEntry32: PROCESSENTRY32;
iCount: Integer;
begin
Result := False;
iCount := 0;
hSS := CreateToolHelp32Snapshot(TH32CS_SNAPALL, 0);
ProcEntry32.dwSize := sizeof(ProcEntry32); if Process32First(hSS, ProcEntry32) then
begin
repeat
if ProcEntry32.szExeFile = fName then
begin
spid := ProcEntry32.th32ProcessID;
Inc(iCount);
if iCount >= 1 then
begin
Result := True;
Break;
end;
end; until not Process32Next(hSS, ProcEntry32);
CloseHandle(hSS);
end;
if Result then Exit;
end; function KillSelectedProcess(PID:integer):String;
var
PH : THandle;
lpExitCode : DWord;
hProcess : Cardinal;
begin
hProcess := Int64(PID);
PH := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,FALSE, hProcess);
if PH <> 0 then
begin
if GetExitCodeProcess(PH, lpExitCode) then
TerminateProcess(PH, lpExitCode)
else
Result := 'Could not retreive the ExitCode for this process.';
CloseHandle(PH);
end
else
Result := 'Could not get access to this process.'
end; 先
if ApplicationUse('notepad.exe') then
KillSelectedProcess(spid); ps:如果你是要將所有notepad.exe都kill...
那就要改寫一下,依序將每一個spid傳入KillSelectedProcess();
|
kkccgg
初階會員 ![]() ![]() 發表:50 回覆:54 積分:30 註冊:2002-07-28 發送簡訊給我 |
|
cbrskimo
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2002-03-13 發送簡訊給我 |
|
yamapig
一般會員 ![]() ![]() 發表:12 回覆:47 積分:21 註冊:2002-03-26 發送簡訊給我 |
引言: 試試看下列就可把程式關閉: filename:='xxx';// 程式為 xxx.exe ,注意此不要加 .exe HWnd:=FindWindow(nil, pchar(filename)); if HWnd <> 0 then SendMessage(HWnd, WM_CLOSE, 0, 0);靜中見真境 淡中識本然引言: 謝謝以上的回應,但我試了還是不行我是用98然後要關閉vb所編成的 Exe我用demon1042001兄的範例,確實可以!之前試也發現不行,然後發現在 if ProcEntry32.szExeFile = fName then begin ...... 這個if 的判斷式竟會區分大小寫,所以你只要改成 if UpperCase(ProcEntry32.szExeFile) = UpperCase(fName) then begin ..... 就可以了,只是印象中Delhpi是不區分大小寫的....真奇怪!
------
靜中見真境 淡中識本然 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |