我的目标是在笔记本电脑屏幕关闭时从应用程序中获取截图,但实际上截图始终与关闭屏幕前的内容相同。一旦屏幕关闭,它就不会重新绘制自己,保持冻结状态。
我正在使用Python中的printwindow方法来获取屏幕截图(使用此处描述的方法:Python Screenshot of inactive window PrintWindow + win32gui)。
只要我的笔记本电脑屏幕开着,这种方法就很好用,但如果我将其关闭,它只会返回屏幕关闭前的最后一个图像。我尝试使用win32gui.RedrawWindow,希望它能强制重绘,但我还没有让它工作,即使我尝试了所有不同的标志。我还尝试过使用pyautogui获取截图,但这也有相同的问题。是否有任何方法可以在笔记本电脑屏幕关闭时重新绘制应用程序?
我正在使用Python中的printwindow方法来获取屏幕截图(使用此处描述的方法:Python Screenshot of inactive window PrintWindow + win32gui)。
只要我的笔记本电脑屏幕开着,这种方法就很好用,但如果我将其关闭,它只会返回屏幕关闭前的最后一个图像。我尝试使用win32gui.RedrawWindow,希望它能强制重绘,但我还没有让它工作,即使我尝试了所有不同的标志。我还尝试过使用pyautogui获取截图,但这也有相同的问题。是否有任何方法可以在笔记本电脑屏幕关闭时重新绘制应用程序?
SendMessage(win32con.HWND_BROADCAST,win32con.WM_SYSCOMMAND,SC_MONITORPOWER,2)
轻松重现它,其中SC_MONITORPOWER = 0xF170
。 - Ruehri