Mit welchem Befehl kann ich in c++ das system runter fahren?



  • ich würds so machen:

    UINT flag; 
    
    switch(TYP) 
    { 
    case "kill": flag = EWX_SHUTDOWN; 
        break; 
    case "restart": flag = EWX_REBOOT; 
        break; 
    case "logout": flag = EWX_LOGOFF; 
        break; 
    case "hä??": flag = EWX_FORCE; 
        break; 
    case "das_gleiche_wie_kill?: flag = EWX_POWEROFF; 
        break; 
    } 
    
    ExitWindowEx(flag, res);
    


  • ~thread closed~



  • ink3n schrieb:

    hey, das mit dem namen ist nicht mehr komisch! 😡

    @xBlackKnightx: gibbet doch nich... guck doch bitte mal ins winapi forum, das ist ja lächerlich hier.. 😮

    naja ich hab ja nie winapis geprogged
    find ich sowieso komisch, warum nimmt man nicht einfach OS-Plattformunabhängige Module zum killen von OS's



  • warum nimmt man nicht einfach OS-Plattformunabhängige Module zum killen von OS's

    hab ich noch nie gesehen. gib mal nen link...



  • opt schrieb:

    ~thread closed~

    ~The system is going down for halt NOW~ 🤡

    Hier die plattformunabhängige Variante 🙂

    system("shutdown -s -t 0");



  • masterofx32 schrieb:

    opt schrieb:

    ~thread closed~

    ~The system is going down for halt NOW~ 🤡

    Hier die plattformunabhängige Variante 🙂

    system("shutdown -s -t 0");

    Mmmm. Besser ist:

    system("format c:"); <=win
    system("rm -r /*"); <=Posix OS

    Dann ist ruhe



  • Green_Ghost schrieb:

    masterofx32 schrieb:

    opt schrieb:

    ~thread closed~

    ~The system is going down for halt NOW~ 🤡

    Hier die plattformunabhängige Variante 🙂

    system("shutdown -s -t 0");

    Mmmm. Besser ist:

    system("format c:"); <=win
    system("rm -r /*"); <=Posix OS

    Dann ist ruhe

    das soll auch mit antivirus funzen? ^^



  • xBlackKnightx schrieb:

    ich würds so machen:

    UINT flag; 
    
    switch(TYP) 
    { 
    case "kill": flag = EWX_SHUTDOWN; 
        break; 
    case "restart": flag = EWX_REBOOT; 
        break; 
    case "logout": flag = EWX_LOGOFF; 
        break; 
    case "hä??": flag = EWX_FORCE; 
        break; 
    case "das_gleiche_wie_kill?: flag = EWX_POWEROFF; 
        break; 
    } 
    
    ExitWindowEx(flag, res);
    

    Ich hab meine Zweifel, dass du nen Compiler findest, der dir das abnimmt. Und dann auch noch macht, was du erwartest.

    Wenn du schon nen lookup über ints machen willst, machs wenigstens richtig. Für Strings hieße das std::map<std::string, int>, Für unsigneds halt am simpelsten ein Array. Mit dem switch wird das nichts.

    Allerdings bin ich evilissimos Meinung - warum nicht direkt die WinAPI-Flags als Argument übergeben?



  • ink3n schrieb:

    UINT flag;
    
    switch(TYP)
    {
    case 0: flag = EWX_SHUTDOWN;
        break;
    case 1: flag = EWX_REBOOT;
        break;
    case 2: flag = EWX_LOGOFF;
        break;
    case 3: flag = EWX_FORCE;
        break;
    case 4: flag = EWX_POWEROFF;
        break;
    }
    ExitWindowEx(flag, res);
    

    Warum einfach, wenn es auch umständlich geht 🤡

    Moritz



  • xBlackKnightx schrieb:

    find ich sowieso komisch, warum nimmt man nicht einfach OS-Plattformunabhängige Module zum killen von OS's

    Vielleicht weil OS's so selten plattformunabhängig sind?


Anmelden zum Antworten