如何让SendMessage解锁?

How to make SendMessage unblocking?

我有这个脚本可以关闭显示器。

import win32api, win32con

print "start"
win32api.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 2)
print "end"

"end" 未打印,脚本永远不会结束。

终端 windows 保持打开状态很烦人。

如何使 SendMessage 非阻塞?

您不能使 win32api.SendMessage() 成为非阻塞的,因为底层 Windows 函数是阻塞的。相反,您可以使用 win32api.PostMessage(),它具有相同的签名:

import win32api, win32con

print "start"
win32api.PostMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 2)
print "end"