Prozess beenden (GELÖST)



  • Hallo

    Gibt es einen befehl mit dem mann einen prozess wie mit dem taskmanager beenden kann z.b firefox. Wenn ja bitte posten 🙂

    MFG
    gh753



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • BOOL WINAPI TerminateProcess(
      __in  HANDLE hProcess,
      __in  UINT uExitCode
    );
    

    MSDN schrieb:

    Terminates the specified process and all of its threads.



  • Sorry damit kann ich leider nichts anfangen bin anfänger der code soll in mein drittes selber geschriebenes programm 🙂 wo muss ich in dem code den zu beendenden prozess ein tragen?

    MFG
    gh753



  • FindWindow();
    SendText();

    Bei sendtext kannst du dann WM_EXIT oder so einfügen.

    PS: Google ist dein Freund



  • Gibt es denn nicht irgendwas wie:

    exit (firefox.exe) ; ?

    google ist bei mir leider im moment grad tot 😞

    (ich glaub ich nerve langsam 🙂 )

    MFG
    gh753



  • gh753 schrieb:

    Sorry damit kann ich leider nichts anfangen bin anfänger der code soll in mein drittes selber geschriebenes programm 🙂 wo muss ich in dem code den zu beendenden prozess ein tragen?

    MFG
    gh753

    Lern erstmal ein kleines bischen programmieren.
    Das ist ja wohl idiotensicher einfach, wenn du das nicht auf die Reihe bekommst, lass es.



  • exit (firefox.exe) ;

    gibts nicht 🙄
    Sieh dir wircklich erstmal ein paar bücher an.



  • @Ethon
    das ist kein grund unfreundlich zu werden das forum ist AUCH für anfänger.
    das ich nicht kann weis ich auch sonst würde ich ja nicht fragen
    wenn es sowas nicht gibt kann der theard geschlossen werden

    Danke
    gh753



  • gh753 schrieb:

    Sorry damit kann ich leider nichts anfangen bin anfänger der code soll in mein drittes selber geschriebenes programm 🙂 wo muss ich in dem code den zu beendenden prozess ein tragen?

    MFG
    gh753

    Zeig doch mal die Sourcecodes von deinen beiden ersten selbern geschriebenen Programmen.



  • using namespace std;

    int main( int nNumberofArgs, char* pszArgs[])
    {
    int Passwort;

    wennFalsch:

    cout << "Geben Sie das Passwort ein:";
    cin >> Passwort;

    if (Passwort == 123)
    {
    ShellExecute(NULL, "open", "www.google.de", NULL, NULL, SW_SHOW);
    }

    if (Passwort != 123)
    {
    goto wennFalsch;
    }

    return 0;
    }

    mir fehlt noch der befehl um das passwort zu verschleiern mit *** 🙂
    weis den jemand?



  • Da gibts keinen Befehl.
    Da musst du selbst Keyboard-Input abfangen, den Wert registrieren aber nur einen Platzhalter ausdrucken.
    Kurz: Mit deinem Wissen nicht machbar.



  • Déjà-vu

    Sidewinders Funktion ist längst nicht perfekt (Löschen per Backspace nicht möglich etc.), aber es sollte doch reichen.

    Ansonsten erzeuge eben einen modalen Dialog mit einem Textfeld (ES_PASSWORD).



  • Da ich gerade selber auf der Suche nach der Lösung für die Funktion TerminateProcess bin, kam ich durch die Websuche auf eure Seite.

    Was ich nicht wirklich verstehe ist, dass dieser Thread als "Gelöst" deklariert wurde, obwohl ihr mitten im Thread das Thema wechselt und keine Lösung bereit stellt... aber wie bei gh753 wird wohl mein Kommentar auch nur mit geflame beantwortet, also sehr hilfreich! 👎



  • @Besucher12345

    1. Mach einen Toolhelp32 Snapshot der laufenden Prozesse (CreateToolhelp32Snapshot)
    2. Enumeriere die Prozesse darin (Process32First, Process32Next)
    3. Entscheide anhand der pro Prozess zurückgegebenen Werte welche Prozesse du killen möchtest (PROCESSENTRY32)
    4. Hol dir ein Handle auf einen Prozess den du killen möchtest (OpenProcess)
    5. Kille den Prozess (TerminateProcess)
    6. Mach das Handle wieder zu (CloseHandle)

    Lässt sich aber mit minimalen Google-Fu alles selbst ergoogeln.
    Nicht wirklich schwer.



  • BTW:

    Besucher12345 schrieb:

    Was ich nicht wirklich verstehe ist, dass dieser Thread als "Gelöst" deklariert wurde, obwohl ihr mitten im Thread das Thema wechselt und keine Lösung bereit stellt... aber wie bei gh753 wird wohl mein Kommentar auch nur mit geflame beantwortet, also sehr hilfreich! 👎

    Den Thread als "gelöst" markiert hat gh753 selbst.
    👎 selber.



  • Da ich selber keine Ahnung gehabt hab, wie man einen Prozess beendet, bin ich auch hier gelandet. Ich hab selber dann eine einfache, wenn auch nicht ganz so schöne Lösung gefunden:

    system("taskkill /F /IM firefox.exe");

    funkioniert bei mir, auch wenn es bestimmt eine schönere Lösung gibt 😋
    btw. ich benutze Windows 8.1


Anmelden zum Antworten