如何在使用C#/WPF时将显示器置于睡眠状态(不包括WinForms)?

4
我遇到的问题是使用...方面的困难。
[DllImport("user32")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

...and then...

SendMessage(???, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)MONITOR_OFF);

SendMessage需要窗体的句柄,但我没有使用窗体,因此无法获取句柄。

是否有其他方法可以使显示器进入睡眠状态或在WPF中获取句柄?


可能是查找WPF窗口的句柄的重复问题。 - Hans Passant
3个回答

5
要获取WPF窗口的句柄,请使用以下方法:
  new WindowInteropHelper(YourWPFWindow).Handle

MSDN reference


3
或者使用
HwndSource source = (HwndSource)HwndSource.FromVisual(this);
source.Handle...

从表单中获取单个元素的句柄,也可以运行整个窗口。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接