[UP有分]高分求助:关于进程
我想在程序中关闭当前系统中所有启动着的名为test.exe的进程
请问应该如何实现?
先谢谢大家了~~
问题点数:100、回复次数:4Top
1 楼cbdiy(暂无)回复于 2003-09-04 19:46:20 得分 45
procedure AppForceExit(const AppName: string);
var lppe: TProcessEntry32;
ssHandle: THandle;
AppFound: Boolean;
Wnd: HWND;
begin
ssHandle := CreateToolHelp32SnapShot(TH32CS_SNAPALL, 0);
AppFound := Process32First(sshandle, lppe);
while AppFound do
begin
//其中lppe.szExefile就是程序名**********************************************
if UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase('test.exe') then
begin
Wnd := OpenProcess(PROCESS_ALL_ACCESS, true, lppe.th32ProcessID);
TerminateProcess(Wnd, 0);
end;
AppFound := Process32Next(ssHandle, lppe);
end;
end;
Top
2 楼zjqyb(风清扬*任它溺水三千,我只取一瓢饮*)回复于 2003-09-04 19:51:55 得分 5
同意Top
3 楼geyobing(大地精灵)回复于 2003-09-04 19:51:56 得分 5
学习Top
4 楼pankun(剑神一笑 Console下面干革命)回复于 2003-09-04 21:04:59 得分 45
看你是在什么系统中,如果是9X系统,可以用Toolhlp32.pas中的函数列举进程并关闭,如果是nt/2000/xp要用psapi.pas中的函数。Top




