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;