PsAPI是NT进程相关的是说这些在Win98下不能用吗 干脆你再帮我看看下面的吧,这是抄别人的一段Function KillProcess(FileName : String) : Boolean; var FSnapshotHandle:THandle; FProcessEntry32:TProcessEntry32; ProcessID : integer; ProcessHndle : THandle; Ret , Ret1 : BOOL; S : String; begin Result := False; FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); FProcessEntry32.dwSize:=Sizeof(FProcessEntry32); Ret:=Process32First(FSnapshotHandle,FProcessEntry32); while Ret do begin S := Trim(AnsiUpperCase(ExtractFileName(FProcessEntry32.szExeFile))); if S=AnsiUpperCase(FileName) then begin ProcessID := FProcessEntry32.th32ProcessID; ProcessHndle:=OpenProcess(PROCESS_TERMINATE,BOOL(0),ProcessID); Ret1 := False; Try Ret1 := TerminateProcess(ProcessHndle,0); except end; if Ret1 then Result := True; Break; end; Ret:=Process32Next(FSnapshotHandle,FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; S的值老是'Kernel32.dll'
干脆你再帮我看看下面的吧,这是抄别人的一段Function KillProcess(FileName : String) : Boolean;
var
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
ProcessID : integer;
ProcessHndle : THandle;
Ret , Ret1 : BOOL;
S : String;
begin
Result := False;
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
Ret:=Process32First(FSnapshotHandle,FProcessEntry32);
while Ret do begin
S := Trim(AnsiUpperCase(ExtractFileName(FProcessEntry32.szExeFile)));
if S=AnsiUpperCase(FileName) then begin
ProcessID := FProcessEntry32.th32ProcessID;
ProcessHndle:=OpenProcess(PROCESS_TERMINATE,BOOL(0),ProcessID);
Ret1 := False;
Try
Ret1 := TerminateProcess(ProcessHndle,0);
except
end;
if Ret1 then Result := True;
Break;
end;
Ret:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
S的值老是'Kernel32.dll'