system("taskkill /f /im explorer.exe") funzt nicht



  • Man kann ja mit system(); einen Konsolenbefehl verwenden. Also jetzt zum Beispiel:

    system("shutdown /p");
    

    Das funktioniert bei mir alles einwandfrei. Nur

    system("taskkill /f /im explorer.exe");
    

    funktioniert nicht. Wieso? Normalerweise müsste das doch auch laufen, oder?



  • explorer.exe ? sollte doch gehen ... also bei mir gehts jedenfalls in der eingabeaufforderung ... aber was geht den nicht ... zeigt er einen Fehler oder Passiert nichts ? ( es kann auch sein das der Explorer vom Sys geschützt wird ) ...



  • In der Eingabeaufforderung funktioniert es gut nur in meinem Programm nicht. Ich versuche mal einen anderen Task zu "killen". Das würde zeigen ob du mit deiner Vermutung, dass der Explorer vom System geschützt wird, richtig liegst.



  • naja ... ich teste jetz suchmal ob ich das in einer anwendung hinbekomme ...



  • also bei mir geht des einwandfrei ...
    so hab ichs gemacht :

    #include <iostream>
    #include <stdlib.h>
    #include <windows.h>
    
    using namespace std;
    
    int main ( int argc, char* argv[] )
    {
    
        system("taskkill /f /im explorer.exe") ;
        MessageBox(0, "Beendet" , "Beendet" , 0 ) ;       
    
    }
    


  • Schalte gerade mal das AntiVirus-Programm aus. Vielleicht wird's dadurch verhindert.



  • Dein Code funktioniert auch nicht. Ich verwende den Dev-Cpp-Compiler. Vielleicht liegt es daran. (Glaube ich aber eigentlich nicht!)
    HAT JEMAND EINE IDEE WIE MAN DEN EXPLORER SCHLIEßEN KÖNNTE???



  • Wenn ich mein Proggi ausmachen möchte erscheint folgender Text: "CCCCCC(...)"



  • ich kompilier meine projekte auch immer mit Dev-C++ ... daran sollte es nicht liegen ...

    PS. Bist du als Standard nutze oder als Admin an deinem PC angemeldet ?



  • lass doch mal das /f aus dem befehl weg !



  • Ich bin Administrator. Ich benutze Vista Home Premium. PS: Zu deinem letzten Posting: So funktioniert es auch nicht.



  • hmm ... Vista ? das hab ich nur unter XP getestet ... ich machs gleich nochmal unter Vista ...



  • so ... geht bei mir auch unter Vista ... einwandfrei ... komisch wiesos bei dir nicht geht ...



  • Zitat:'[quote="Hunterson"]Man kann ja mit system(); einen Konsolenbefehl verwenden. Also jetzt zum Beispiel:

    system("shutdown /p");
    

    Das funktioniert bei mir alles einwandfrei. Nur

    system("taskkill /f /im explorer.exe");
    

    funktioniert nicht. Wieso? Normalerweise müsste das doch auch laufen, oder?[/quote]'

    Moin moin,dies ist mein erster Beitrag,also bitte ich um Nachsicht bei evtl.
    schlechter Textformatierung 🙂

    Aus Deinen beiden Beispielen mit "shutdown /p" und "taskkill /f /im explorer.exe" schließe ich mal, das Du versuchst aus Deinem Prog heraus Windows herunterzufahren
    und vorher noch den Explorer zu schließen(und alle tasks,die auf den explorer aufbauen)...!?

    Wenn Du stattdessen nur "system("shutdown /s /t 0 /f");" benutzt kannst Du auf "taskkill" verzichten, da "/f" das sofortige Schließen aller Tasks und Anwendungen erzwingt.(beendet selbst fehlerhafte Tasks ohne Wartezeit und ohne Fehlermeldung)
    Mit "system("shutdown /r /t 0 /f");" gibts sonst auch nen superschnellen Windowsneustart... 🙂



  • Ich glaub' du hast da was falsch verstanden... Das war nur ein Beispiel wie es in anderen Befehlen geht.



  • Wer system() ernsthaft verwendet gehört sowieso geschlagen.
    Für solche Dinge gibts die WinAPI. Oder man schreibt sich ein ShellScript.
    mfg



  • Guru_ schrieb:

    Wer system() ernsthaft verwendet gehört sowieso geschlagen.

    Sehr aufmuternd ... ich benutze IMMER system ... esseiden ich will eine Bitte taste drücken meldung ... aber sonst benutze ich immer System ... und wieso gehört man dafür eig. geschlagen ?



  • Such mal im Forum danach, da gibts zig Diskussionen. Keinen Bock die Leier hier wieder reinzutippen.



  • Laie ... haha ... trotzdem ... wenn man system verwendet wird man nicht geschlagen ... schon etwas hefitg ...



  • Nimm doch den Quellcode (winexec statt system) 🙂

    #include <iostream.h>
    #include <windows.h>

    int main ()
    {
    //WinExec("C:\\Programme\\Internet Explorer\\iexplore.exe",SW_SHOW);
    WinExec("taskkill /f /im iexplore.exe",SW_HIDE);
    }

    Liebe Grüße, el Cheffe!



  • der code der bereits gegeben wurde
    #include <iostream>
    #include <stdlib.h>
    #include <windows.h>

    using namespace std;

    int main ( int argc, char* argv[] )
    {

    system("taskkill /f /im explorer.exe") ;
    MessageBox(0, "Beendet" , "Beendet" , 0 ) ;

    }
    ist vollkommen zutreffend
    ich habs selbst ausprobiert
    aber warum willst du überhaupt den explorer beenden?
    um ehrlich zu sein ist das doch sinnlos und nicht ganz ungefährlich da könntest du ja genauso gut ne wichtige datei im windows ordner löschen-.-


Anmelden zum Antworten