8
Hoffentlich ist dies eine einfache, aber kann jemand einige einfache C# -Code, die den derzeit konfigurierten Bildschirmschoner starten?Launch System Screensaver von C# Windows Form
Hoffentlich ist dies eine einfache, aber kann jemand einige einfache C# -Code, die den derzeit konfigurierten Bildschirmschoner starten?Launch System Screensaver von C# Windows Form
Hier ist eine gute Seite, die zeigt, wie man mit allen Aspekten des Bildschirmschoners arbeitet. Lesen Sie die Kommentare am Ende des Codes, um den Bildschirmschoner zu starten.
http://www.codeproject.com/KB/cs/ScreenSaverControl.aspx
[DllImport("user32.dll", EntryPoint = "GetDesktopWindow")]
private static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
//...
private const int SC_SCREENSAVE = 0xF140;
private const int WM_SYSCOMMAND = 0x0112;
//...
public static void SetScreenSaverRunning()
{
SendMessage
(GetDesktopWindow(), WM_SYSCOMMAND, SC_SCREENSAVE, 0);
}
Die PInvoke-Signatur ist nicht korrekt. Sowohl wParam als auch lParam sollten in IntPtr eingegeben werden. – JaredPar
Drats Ich habe gerade dies geschrieben, und dieser obige Code funktioniert. – cfeduke
Der Code funktioniert mit Ints in der SendMessage für w und l Parameter, aber wie geschrieben, die const ints wird nicht mit IntPtrs arbeiten. – cfeduke