Vårt program har ett problem som gör att programmet ligger kvar som aktiv process fast man har avslutat. Någon som har en idé om vad detta kan bero på. Jag hittade ett tips på nätet som du kan testa.Program stannar kvar i windows-processer.
Finns det något kommando som kan tvinga processen att avskutas.Sv: Program stannar kvar i windows-processer.
<code>
uses Tlhelp32;
...
function KillTask(ExeFileName: string ): integer;
const PROCESS_TERMINATE=$0001;
var ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;
FSnapshotHandle := CreateToolhelp32
Snapshot (TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess( PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
KillTask('notepad.exe');
end;
</code>
Byt ut notepad.exe mot den process du vill döda.