Jak za pomocą Delphi zakończyć proces w Menedżeże Zadań Windows XP
tez bylo - szukaj.
mozesz tez odpalic managera zadan przez winexec, przejsc na zakladke procesy i tam kliknac programowo przycisk zakoncz proces. ot cala filozofia
nie mogę tego znaleźć
Ehh.....
uses TLHelp32;
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot
(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;
a jak można wyświetlić np. w ListBox listę aktywnych procesów??
jak pobrać nazwę użytkownika do procesu np.: 'gg.exe';
z góry wielkie thnx.
nara
- Bylo na forum dosc czesto i wystarczy poszukac - jest na 100% bo ostatnio sam tego szukalem, albo pobaw sie z EnumWindows,chyba Proces32First i Next
//Dopisane
http://4programmers.net/file.php?id=1381
- Pobierz uchwyt 'gg.exe' i potem GetWindowText - bo jak wiesz caption gg pokazuje zawsze aktywnego uzytkownika z jego numerem : uzytkownik(numer)
//Dopisane
Zapomnialem ze gg nie znajdziesz przciez po captionie, uzyj klasy u mnie np. na gg 6 klasa = Afxb00000005:0001019F
ale proponuje zobaczyc samemu, mozesz do tego uzyc hakceye