Windows Beenden ?



  • hi, ich habe eine app. welche auf buttondruck windows (xp) beenden soll.
    allerdings habe ich noch keinen befehl zum beenden von windows gefunden.kann mir bitte jemand helfen ?



  • Guck dir mal "shutdown" an. Gib es einfach mal in die Konsole ein, dann kriegst du alle Parameter aufgelistet. Dann musst du nur noch aus deiner Anwendung Shutdown aufrufen.



  • Versuch mal folgendes

    BOOL Shutdown(UINT Flag/*=EWX_POWEROFF*/)
    {
        TOKEN_PRIVILEGES TPrivileges;
        HANDLE hProc;
        OSVERSIONINFO OSVersion;
        OSVersion.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
        GetVersionEx(&OSVersion);
        // prüfen, ob nt/2k/xp
        if(OSVersion.dwPlatformId==VER_PLATTFORM_WIN32_NT)
        {
            // prozess token holen
            if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hProc)
            {
                // luid besorgen
                if(LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&TPrivileges.Privileges[0].Luid))
            {
                TPrivileges.PrivilegeCount=1;
                TPrivileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
                if(AdjustTokenPrivileges(hProc,false,&TPrivileges,0,(PTOKEN_PRIVILEGES)NULL,0))
                {
                    return ExitWindowsEx(Flag,NULL);
                }
    
            }
        }    
        return FALSE;
    }
    


  • danke ! voll super ! wär was für die faq, oder ?



  • karli_k schrieb:

    danke ! voll super ! wär was für die faq, oder ?

    So wie der hier ?
    http://www.c-plusplus.net/forum/viewtopic.php?t=39051


Anmelden zum Antworten