我正在调用使用 GetWindowLog 属性查询窗口的扩展窗口样式,并且在许多情况下它返回的值未在 msdn 中记录。
特别是 0x00000800L 和 0x00000100L 或两者的组合。有没有人有关于这些值的信息,或者比 msdn 网站上记录的更完整的列表?
我正在调用使用 GetWindowLog 属性查询窗口的扩展窗口样式,并且在许多情况下它返回的值未在 msdn 中记录。
特别是 0x00000800L 和 0x00000100L 或两者的组合。有没有人有关于这些值的信息,或者比 msdn 网站上记录的更完整的列表?
我在寻找答案时遇到了这个线程,为什么当 Microsoft Word“消失”一个窗口时这个值会改变。我维护了一个跟踪 HWND 值的应用程序,以便进行应用程序共享。这很好用,但 Microsoft Office 应用程序经常以不同寻常的方式处理这些问题。在这种特殊情况下,我发现如果您在 Microsoft Word 2013 中执行以下操作:
当使用 IsWindow、IsVisible 等 Windows 函数询问时,这两个 HWND 值看起来都是正常的、仍然可见等。我无法找到其中一个窗口已关闭的方法——除了这个未记录的 dwExStyle 值. 0x800 将在仍然可见的窗口中“打开”,在不再可见的窗口中“关闭”。
(顺便说一句,我知道你不是“应该”以这种方式保存 HWND 值 - 但尝试跟踪窗口以进行共享而不保存此值 - 不是那么容易!)
Jeremy,这只是 GetWindowInfo 的一个错误(适用于 Win98 之后的任何操作系统:2k、XP、Vista、Win7)。
请参阅http://rsdn.ru/forum/winapi/3362548.all.aspx(“WINDOWINFO.dwExStyle错误”)
从那里尝试小型测试仪:http: //files.rsdn.ru/42164/wi_exstyle.zip
克罗
由于 0x00000100L 列在“扩展窗口样式”页面上,因此我有点不清楚您是指普通样式还是扩展样式,因此我将同时描述两者。
风格:
外型: