Explorer Exe Prozessid

SCIPIO-AEMILIANUS

aka Dubdidadu
Ich hab folgendes Problem und zwar ich würde gern wissen, wie ich es machen, dass ich Explorer.exe beenden kann.
Andere Prozesse beende ich so, über den Window Titel.
Code:
HWND hWnd;
    HANDLE hProcess;
    DWORD processID;
    hWnd =::FindWindowA(NULL,"Titel");
    
    ::GetWindowThreadProcessId(hWnd, &processID);
    hProcess = OpenProcess (PROCESS_ALL_ACCESS, TRUE, processID);
    TerminateProcess(hProcess,0);

Würde mich über schnelle Hilfe freuen.
 
Hab jetzt selber ne Methode gefunden, ist aber sehr unsauber find ich. Würde mich also über andere Lösungen noch freuen.
Mein Lösungsweg:
Code:
HWND hdn;
    Sleep(5000);
    hdn=::GetForegroundWindow();
    char name[1024];
    ::GetWindowTextA(hdn,name,200);
    cout<<name;
<--Mit dem Code hab ich nach nem Click auf den Desktop den Window Name erhalten. Den hab ich dann in die oben gezeigte Funktion eingefügt. Funktioniert soweit.
 
Etwas konsolen lastig:
C++:
system("tasklist /FI \"IMAGENAME eq explorer.exe\" > tsklst.txt");
//und dann in tsklst.txt nach "explorer.exe" gucken, danach kommt die PID.
system("taskkill /PID /*deine PID*/ /F")
Skini
 
Zuletzt bearbeitet:
Zurück