alle sich in Taskleiste befindlichen Programme beenden



  • Hallo,

    ich versuche gerade mit folgendem Code alle sich in der Taskleiste befindlichen Programme zu schließen.
    Nur hab ich das Problem das Windows nicht nur die Programme beendet sondern sich auch noch aus logt.
    Wie bekomme ich das Logout weg?

    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    return( FALSE );
    
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
    tkp.PrivilegeCount = 1;
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);
    
    if (GetLastError() != ERROR_SUCCESS)
    return FALSE;
    
    if (!ExitWindowsEx(EWX_FORCE, NULL));
    return TRUE;
    

    hoffe es kann mir jemand helfen
    Danke



  • Du musst dir ein anderes Vorgehen überlegen mit

    ExitWindowsEx(EWX_FORCE, NULL)

    fährst du nun mal Windows herunter. Damit werden nicht NUR die Programm in der Taskleiste beendet.


Anmelden zum Antworten