000
15.06.2007, 17:24 Uhr
~sly
Gast
|
System:
VC++ 2003, .NET 1.1 Winxp
Ich will Windows aus einer Form heraus zeitverzögert beenden. Ich weiß ich weiß wurde schon oft erklärt, leider funktioniert bei mir nichts. Habe folgende Optionen ausprobiert:
system("shutdown.exe" [+Parameter]);
ShellExecute(...)
Process::Start(...)
Eins vorweg: mit purem C++ Code ohne GUI klappt es!
Nur sobald ich eine der oben genannten Funktionen innerhalb einer "System::Windows::Forms::Form" aufrufe, passiert folgendes: die Eingabeaufforderung flackert kurz auf, gleichzeitig startes sich eine neue Instanz des Programm, von dem aus shutdown.exe aufgerufen wurde und nicht passiert.
Und jedes mal aufs neue startet sich eine weitere Instanz, wenn man shutdown.exe aufruft.
Beispielhaft hier mit ShellExecute:
C++: |
HINSTANCE hRet = ShellExecute ( HWND_DESKTOP, "open", "shutdown.exe", " - s -t 900", NULL, SW_SHOW );
|
Kann mir das Verhalten jmd. erklären?
Ich habe alternativ von der Methode "ExitWindowsEx" gehört. Leider weiß ich nicht wie man dort die Zeitverzögerung angibt. |