导购网站 转化率,阿里巴巴网站推广方式,南昌网站建设代理商,网站怎么做适配首先#xff0c;大多数程序通过调用^{}(或包装它的高级函数)来刷新窗口。但是#xff0c;有一些应用程序主要来自微软#xff0c;他们做一些定制的东西#xff0c;在终端用户看来就像是在闪窗#xff0c;但在封面下看起来可能不一样。希望你不在乎任何这样的定制应用。在无…首先大多数程序通过调用^{}(或包装它的高级函数)来刷新窗口。但是有一些应用程序主要来自微软他们做一些定制的东西在终端用户看来就像是在闪窗但在封面下看起来可能不一样。希望你不在乎任何这样的定制应用。在无论如何捕获这些信息最简单的方法是安装一个带有^{}或{a3}的shell钩子。(您可以在user32.dll前面显式地注入代码…但是您不想从Python中尝试这样做。)当您这样做时Windows将把您的窗口视为Explorer的一部分(“shell”)并向它发送有关其他程序正在做什么的特殊消息WM_SHELLHOOKMESSAGE。在正如forival所指出的这可能更容易从AutoHotkey-this answer开始在论坛中展示如何做到这一点。它也可以更容易从VB甚至C。是的这些语言通常比Python困难但是代码中的实际逻辑非常简单唯一困难的部分是获取shell钩子消息而这部分在这些语言中会更容易。另一种选择是使用IronPython并通过.NET实现。在但是你问是否有可能从Python中实现它而且……是的是的。我相信相关函数不是由win32gui包装的所以您必须使用^{}从Python中完成。请参阅SO question以获取可能的示例并查看侧面的一些相关问题和ctypes文档中的其他示例以获取使用ctypes调用不同函数的其他示例用户.dll. 在如果您想设置一个windows钩子key函数将如下所示(有关详细信息请参见^{})HSHELL_REDRAW6WM_SHELL10def my_callback(nCode, wParam, lParam):if nCode HSHELL_REDRAW and lParam:got_flashing_window_with_hwnd(wParam)hook user32.SetWindowsHookEx(WM_SHELL, my_callback, None, 0)但是您需要设置类型并通过ctypes推送回调。在如果已经有一个从Python管理的窗口那么将自己设置为shell钩子窗口可能更容易^{pr2}$然后在窗口过程中^{3}$我不确定你是否需要这些特权但我怀疑你需要。在