Windows Beenden



  • Hallo,
    ich hab Probleme den Code zu verstehen und in der Hilfe bzw. dem Forum hier bekomme ich wenig herraus. Kann mir jemand von euch helfen. Evtl. ein paar nützliche Kommentare einfügen?

    HANDLE token;
        TOKEN_PRIVILEGES tokenpriv;
    
        // Token für diesen Prozess holen
        if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token)==0)
        {   ShowMessage("Fehler beim OpenProcessToken");
            return;
        }
    
        // LUID für die Shutdown Privilege holen
        LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tokenpriv.Privileges[0].Luid);
        tokenpriv.PrivilegeCount=1;
        tokenpriv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
    
        // Shutdown privilege für diesen Prozess setzen
        if(AdjustTokenPrivileges(token, false, &tokenpriv, 0, (PTOKEN_PRIVILEGES)NULL, 0)==NULL)
        {   ShowMessage("Fehler bei AdjustTokenPrivileges");
            return;
        }
    
        // Windows beenden und Rechner ausschalten
        if(ExitWindowsEx(EWX_LOGOFF | EWX_POWEROFF, NULL)==NULL) 
        {   ShowMessage("Fehler beim ExitWindowsEx"); 
            return; 
        }
    


  • Das gehört nach Win-API 👎


Anmelden zum Antworten