Witam! Chciałbym się dowiedzieć, czy istnieje sposób na pobranie uchwytu dla dowolnego procesu, np. winamp.exe. Potrzebne jest mi to do ?zdalnego? zabicia aplikacji. Chodzi o C++ :]
Pozdrawiam
Tomek
Witam! Chciałbym się dowiedzieć, czy istnieje sposób na pobranie uchwytu dla dowolnego procesu, np. winamp.exe. Potrzebne jest mi to do ?zdalnego? zabicia aplikacji. Chodzi o C++ :]
Pozdrawiam
Tomek
Istnieje funkcja
GetWindowThreadProcessId(WMAHandle, &pid);
WMAHandle - uchwyt winampa (mozna zdobyc FindWindow i FindWindowEx)
a co znaczy zdalny ????
Jest to metoda, ale nie najlepsza.
Po pierwsze, przy wywołaniu FindWindow należy podać nazwę okna, a nie pliku, czyli procesu. Po drugie nie działa to zbyt dobrze :(. Z prób jakie przeprowadziłem wyszło mi, że uzyskiwany tą metodą PID jest inny niż ten, który można wyczytać z menadżera zadań Win.
A mówiąc ?zdalny? (specjalnie użyłem cudzysłowie) miałem na myśli wyłączenie procesu przy pomocy programu (procesu), który nie brał udziału w jego tworzeniu (CreateProcess).
Może jakieś inne sugestie?
Pozdrawiam
Tomek
Dla win9x - przyjrzyj sie funkcjom: CreateToolhelp32Snapshot, Module32First, Module32Next. Dla nt/xp chyba EnumProcesses. looknij na http://www.codeproject.com/threads/enumprocess.asp