如何让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"
我有这个脚本可以关闭显示器。
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"