c TerminateProcess

Status
Niet open voor verdere reacties.

daandaanie

Gebruiker
Lid geworden
23 jun 2012
Berichten
146
Hallo,

Zou iemand mij willen uitleggen hoe je een process stopt met terminateprocess?
hoe kan ik bijvoorbeeld een programma in HANDLE krijgen

Alvast bedankt
 
Laatst bewerkt:
Als het een eigen proces is heb je de handle als het goed is al. Als je een ander proces af wil sluiten heb je verscheidende mogelijkheden. Sommige hebben echter wel "elevated rights" nodig.

Je kunt een handle krijgen via de window handle: "GetProcessHandleFromHwnd"
Je kunt ook werken vanuit de PID of de processlist, etc. Er is dus niet 1 beste oplossing volgens mij
 
Dus als je het programma op de voorgrond wilt afsluiten doe je

Code:
HWND hwnd = getforegroundwindow()
HANDLE handle = getprocesshandlefromhwnd(hwnd)
Terninateprocess(handle, 0)
 
GetWindowThreadProcessId(hwnd, out processId);

bestaat ook. let op dat deze echter mogelijk hard geïmporteerd moeten worden. Het zijn geen standaard C++ calls.
 
Het zijn windows system calls. Indien je ze kan importeren is er geen reden waarom het niet in C zou kunnen. De taal is niet de beperking, het is de benadering naar windows toe.
 
Maar hoe krijg ik GetProcessHandleFromHwnd werkend
 
Laatst bewerkt:
uhm GetProcessHandleFromHwnd
wordt niet herkent

Dit komt doordat je eerst de header van deze functie moet includen.

Hier een voordbeeld wat ook nog zou kunnen.

Code:
String loadHeader = "Oleacc.dll";

LoadLibraryA(loadHeader); // Na deze functie kan je de functie "GetProcessHandleFromHwnd" gebruiken.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan