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