Ergebnis 1 bis 5 von 5
  1. #1
    Michelangelo Virus
    Registriert seit
    14.06.2007
    Beiträge
    282

    Standard [C++] Watcher programmieren

    Hi
    da einige hier eine Methode suchen um ein Programm daran zu hindern geschlossen zu werde, schreibe ich hier ein tutorial, um einen watcher zu programmieren. ein watcher ist ein zweites programm, das unsichtbar läuft und das eigentliche programm immer wieder neustartet, wenn es geschlossen wurde.

    Soweit zur Einleitung

    und hier das eibentliche tut in einem CODE.


    Code:
    //includes
    #include <cstdlib>       
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    //starte die Main-methode
    int main(int argc, char *argv[])
    {
    char szBuffer[MAX_PATH+2]; 
    GetModuleFileName (NULL, szBuffer, MAX_PATH);   //hier wird die Konsole in der der Watcher ausgeführt wird unsichtbar gemacht
    HWND hwnd = FindWindow(NULL, szBuffer);
    ShowWindow(hwnd, SW_HIDE);
    while (1 > 0)//while-schleife diese wiederholt den darunter stehenden Prozess    
    {
    HWND hWindow = FindWindow(NULL, "Der Name des Programmes das der Watcher wieder und wieder starten soll");//hiermit suchen wir ein unser Fenster und spechern es in hWindow
    if (IsWindow(hWindow) != FALSE)//jetzt kommt die bedingung, falls das febster gefunden wurde also FindWindow erfolgreich war 
    {
    Sleep(100);//wartet das Programm 1sec
    }
    else//falls Findwindow kein erfolg hatte, wird das Programm mit ShellExecute geöffnet
    {
    ShellExecute(NULL,NULL,NULL, "C:\\datei.exe", NULL, SW_SHOW);     
    }    
    }    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    have fun

    mfg

    zao
    Write the code correctly and it will compile

  2. #2
    Michelangelo Virus Avatar von Chris K.
    Registriert seit
    31.01.2007
    Beiträge
    275

    Standard

    danke schön, sehr guter tipp. Haste das selbst geschrieben oder irgendwo gefunden?

  3. #3
    Michelangelo Virus
    Registriert seit
    14.06.2007
    Beiträge
    282

    Standard

    ne das is selbstgeschrieben
    Write the code correctly and it will compile

  4. #4
    Michelangelo Virus Avatar von Chris K.
    Registriert seit
    31.01.2007
    Beiträge
    275

    Standard

    kannste vllt. nohmal erklären was ich jezz wo genau eintragen muss wenn ich zb. das programm server.exe überwachen lassen will?

  5. #5
    Michelangelo Virus
    Registriert seit
    14.06.2007
    Beiträge
    282

    Standard

    das hier is ein watcher für anwendungen die in einem fenster ausgeführt werden. ich schreibe von mir aus bald noch einen für prozesse.
    wenn dein server jetzt im fenster ausgeführt wird dann musst du einfach so schreiben


    Code:
    #include <cstdlib>       
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    char szBuffer[MAX_PATH+2];
    GetModuleFileName (NULL, szBuffer, MAX_PATH);  
    HWND hwnd = FindWindow(NULL, szBuffer);
    ShowWindow(hwnd, SW_HIDE);
    while (1 > 0)  
    {
    HWND hWindow = FindWindow(NULL, "Der Name des Fensters in dem server.exe ausgeführt wird");
    if (IsWindow(hWindow) != FALSE)
    {
    Sleep(100);
    }
    else
    {
    ShellExecute(NULL,NULL,NULL, "C:\\server.exe", NULL, SW_SHOW);     
    }   
    }   
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    mfg zao
    Write the code correctly and it will compile

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •