Запустите системную заставку из C # Windows Form - PullRequest
8 голосов
/ 06 ноября 2008

Надеюсь, это простой, но кто-нибудь может предоставить какой-нибудь простой код на C #, который запустит текущую настроенную заставку?

1 Ответ

9 голосов
/ 06 ноября 2008

Вот хороший сайт, показывающий, как работать со всеми аспектами заставки. См. Комментарии в конце кода для запуска заставки.

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);
}
...