我想在程序中关闭当前系统中所有启动着的名为test.exe的进程
请问应该如何实现?先谢谢大家了~~

解决方案 »

  1.   

    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; 
      

  2.   

    看你是在什么系统中,如果是9X系统,可以用Toolhlp32.pas中的函数列举进程并关闭,如果是nt/2000/xp要用psapi.pas中的函数。