#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR scCmdLine, int iCmdShow)
{
int WaitTime = 5000;
MessageBox (NULL, TEXT(" Der Monitor wird in 5 Sekunden abgeschaltet !"),
TEXT(" StandBy "), 0);
Sleep(WaitTime);
SendMessage(GetForegroundWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
Dasselbe als Winapi-Programm für Minimalisten.
Überigens, lag dein ursprünglicher Fehler, daran dass Du eine "Main"-Funktion für Dos benutzt hast. Mit der "WinMain"-Funktion klappt es auch so :
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR scCmdLine, int iCmdShow)
{
SendMessage(GetForegroundWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
Ich schätze mal, dass es an der Übergabe des Programms beim Beenden an das Betriebssystem lag. Wird die Dos-Funktion beendet, reagiert dass Betriebssystem anders als bei einer Windows-Funktion.