Ergebnis 1 bis 7 von 7

Thema: Serverneustart bei Fehlermeldung C++

  1. #1
    Avatar von Sk3y
    Registriert seit
    27.09.2009
    Ort
    Magdeburg

    Standard Serverneustart bei Fehlermeldung C++

    Hallo jeder der einen Server hat kennt das problem das irgendwann mal eine Fehlermeldung im windows auftaucht. Wer diese hat klickt diese weg und und schon startet der server neu (manuell oder automatisch).

    Das problem an der geschichte ist das der Gmod-Server solange wie der Fehler da ist nicht mehr erreichbar ist.

    Ich hab mal 5 Minuten google genutzt und etwas gefunden was uns allen eventuell helfen könnte.

    Code:
    #include <stdio.h>
    #include <windows.h>
    
    int main()
    {
        while ( 1 )
        {
            printf("Trying to find Window...\n");
            HWND handle = FindWindow(0,"ProgDVB.exe - Fehler in Anwendung");
            if ( handle )
            {
                    printf("Window found...\n");
                    HWND button = FindWindowEx(handle,0,0,"OK");
                    if ( button )
                    {
                             SendMessage(button,BM_CLICK,0,0);
                             printf("Button clicked...\n");
                    } else {
                           printf("Button not found...\n");
                           }
             } else {
                    printf("Window not found...\n");
                    }
             sleep(5000);
         }
         return 0;
    }
    Soweit ich das verstanden habe sucht der Code nach dem fensternamen "ProgDVB.exe - Fehler in Anwendung". Klar ist soweit das man den namen bloss anpassen bräuchte. Ich bin der meinung das die Server mehr als eine art dieser nachrichten ausspucken.

    Was möchte ich von euch nun?

    Ganz einfach, ich brauche jemanden der es mir ermöglicht noch weitere fehlermeldungen hinzufügen zu können. Nachzuschauen ob das auch wirklich funktioniert wäre auch nicht schlecht.

    Mfg

  2. #2

    Standard AW: Serverneustart bei Fehlermeldung C++

    Sowas ähnliches hab ich schonmal in AutoIT programmiert.

    Gib in die config die Pfad Startparameter des Servers ein und starte die Exe.
    http://www.garrysmod.de/forum/showthread.php?t=22986

    Oder benutze einfach ServerChecker.

  3. #3

    Standard AW: Serverneustart bei Fehlermeldung C++

    Code:
    #include <stdio.h>
    #include <windows.h>
    
    int main()
    {
        while ( 1 )
        {
            printf("Trying to find Window...\n");
            closeWnd("Fenstername1");
            closeWnd("Fenstername2");
            //...
            sleep(5000);
        }
        return 0;
    }
    
    void closeWnd(LPCSTR wndName)
    {
        HWND handle = FindWindow(0,wndname);
        if ( handle )
        {
    	printf("Window found...\n");
    	HWND button = FindWindowEx(handle,0,0,"OK");
    	if ( button )
    	{
    		SendMessage(button,BM_CLICK,0,0);
    		printf("Button clicked...\n");
    	} else {
    		printf("Button not found...\n");
    	}
        }
    }
    Für jede Fehlermeldung ein weiteres closeWnd oben hinzufügen. (Ungetestet)

  4. #4
    Avatar von Sk3y
    Registriert seit
    27.09.2009
    Ort
    Magdeburg

    Standard AW: Serverneustart bei Fehlermeldung C++

    Danke don-banane ich teste es mal.

    @A.I. ich benutze Serverchecker für derzeit 3 Server. Leider ist dein Programm nicht für mehrere server ausgelegt, sodass ich deines nicht nutzen kann. Leider hat aber serverchecker auch nicht nicht das was du schon drinne hast. Daher danke ich für deinen post aber nutzen kann ich es nicht.

    Mfg
    Doppelpost:
    Sry für den doppelpost.

    @don ich erhalte folgende fehlermeldungen.

    Code:
    [BCC32 Fehler] File1.cpp(9): E2268 Aufruf der undefinierten Funktion 'closeWnd'
    [BCC32 Fehler] File1.cpp(12): E2268 Aufruf der undefinierten Funktion 'sleep'
    [BCC32 Warnung] File1.cpp(14): W8066 Code wird nie erreicht  ##ist mir schon klar bei der whileschleife
    [BCC32 Fehler] File1.cpp(19): E2451 Undefiniertes Symbol 'wndname'

    CodeGear™ C++Builder® 2009 Version 12.0.3170.16989 benutze ich. Habe keine Updates installiert.

    Könntest du mir vllt sagen was daran jetzt verkehrt ist?

    Mfg
    Geändert von Sk3y (08.01.2010 um 17:53 Uhr) Grund: Doppelposts zusammengefügt

  5. #5

    Standard AW: Serverneustart bei Fehlermeldung C++

    CloseWnd muss natürlich vor main stehen, der Rest war nur Groß/Kleinschreibungs-bedingt.

    Code:
    #include <stdio.h>
    #include <windows.h>
    
    void closeWnd(LPCSTR wndName)
    {
        HWND handle = FindWindow(0,wndName);
        if ( handle )
        {
    	printf("Window found...\n");
    	HWND button = FindWindowEx(handle,0,0,"OK");
    	if ( button )
    	{
    		SendMessage(button,BM_CLICK,0,0);
    		printf("Button clicked...\n");
    	} else {
    		printf("Button not found...\n");
    	}
        }
    }
    
    int main()
    {
    	while ( 1 )
    	{
    		printf("Trying to find Window...\n");
    		closeWnd("Fenstername1");
    		closeWnd("Fenstername2");
    		//...
    		Sleep(5000);
    	}
    	return 0;
    }

  6. #6
    Avatar von Sk3y
    Registriert seit
    27.09.2009
    Ort
    Magdeburg

    Standard AW: Serverneustart bei Fehlermeldung C++

    Danke es läuft und das sogar sehr gut

    Frisst zwar dauerhaft 5.800 K laut taskmanager aber hey egal xD
    Es fehlte sogar noch eine .h aber naja

    Ich werd es auf unserem Server mal testen und dann als zusatz für den Serverchecker vorschlagen. Mal schauen ob ich es hinbekomme das ich logs damit anfertigen kann.

    Mfg

  7. #7

    Standard AW: Serverneustart bei Fehlermeldung C++

    Irgentwas machst du da gewaltig falsch, das Programm braucht bei mir nur 430 K, und eine .h braucht man erst recht nicht
    (Ich compile mit Visual C++)

    Edit: Ok, hab jetzt das Programm erweitert:



    Man muss eine windownames.txt im gleichen Ordner wie die exe haben, jedes Fenster muss in eine neue Zeile geschrieben werden. Leerzeilen werden ignoriert.

    Der Source Code ist dabei
    Angehängte Dateien Angehängte Dateien
    Geändert von don-banane (09.01.2010 um 14:21 Uhr)

  8. Folgende 2 Benutzer sagen Danke zu don-banane für den nützlichen Beitrag:


Ähnliche Themen

  1. Fehlermeldung?
    Von Marcel...! im Forum Hilfe & Support
    Antworten: 7
    Letzter Beitrag: 06.04.2009, 04:27
  2. Fehlermeldung...
    Von Magic im Forum Hilfe & Support
    Antworten: 26
    Letzter Beitrag: 26.07.2008, 15:25
  3. Fehlermeldung
    Von -=Sniper=- im Forum Hilfe & Support
    Antworten: 3
    Letzter Beitrag: 29.04.2008, 17:42
  4. Fehlermeldung
    Von -=Sniper=- im Forum Server
    Antworten: 2
    Letzter Beitrag: 22.04.2008, 16:25
  5. RAD Fehlermeldung
    Von !G-Man! im Forum Mapping
    Antworten: 25
    Letzter Beitrag: 25.07.2007, 16:42

Berechtigungen

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