使用C#/ WPF(非WinForms!)时如何让显示器进入睡眠状态

bob*_*988 4 c# wpf

我遇到的麻烦就是使用......

[DllImport("user32")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
Run Code Online (Sandbox Code Playgroud)

...然后...

SendMessage(???, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)MONITOR_OFF);
Run Code Online (Sandbox Code Playgroud)

SendMessage想要Form的Handle,但我没有使用Forms,所以无法获得Handle.

有没有其他方法可以让显示器进入睡眠状态或获取WPF中的句柄?

Yah*_*hia 5

要获取WPF窗口的句柄,请使用:

  new WindowInteropHelper(YourWPFWindow).Handle
Run Code Online (Sandbox Code Playgroud)

MSDN参考