可以查找系统中所有的进程
所用的函数
win9X:  CreateToolhelp32Snapshot//取得Handle
        Process32First
        Process32Next
WINNT:  I DON'T KNOW
找完所有进程
结束进程:OpenProcess
          TerminateProcess
但是有些进程杀不了

解决方案 »

  1.   

         PList := TList.Create;
         PList.Clear;
         //得到进程列表的句柄
         ProcessListHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCES,0);
         ProcessStruct.dwSize := Sizeof(ProcessStruct);
         //得到第一个进程
         ok := Process32First(ProcessListHandle,ProcessStruct);
         while ok do
         begin
              New(p);
              p.ExeFile := ProcessStruct..szExeFile;//进程名
              p.ProcessID := processStruct.th32ProcessID;
              PList.Add(p);
              ok := Process32Next(ProcesslistHandle,ProcessStruct);
         end;
        //---------关闭进程
         h := OpenProcess(PROCESS_ALL_ACCESS,True,p.ProcessID);
              //得到进程的退出代码,存入a中
              GetExitCodeProcess(h,a);
              if TerminateProcess(h,a) then    //关闭进程
              begin
                   ListBox1.Clear;
                   FormCreate(Self);     //如果关闭成功,刷新列表
              end;