【问题标题】:NSE: After minimizing and restoring a window I get 'WM_WINDOWPOSCHANGING' but not 'WM_WINDOWPOSCHANGED'NSE:最小化和恢复窗口后,我得到“WM_WINDOWPOSCHANGING”,但没有得到“WM_WINDOWPOSCHANGED”
【发布时间】:2015-06-17 07:39:38
【问题描述】:

如果我最小化我的 shell 扩展 文件夹,然后尝试通过单击任务栏中的来恢复它,我会收到错误提示音,但什么也没做。

使用Microsoft Spy++,我查看了尝试恢复文件夹的事件并得到以下信息:

<00001> 0019013C S WM_WINDOWPOSCHANGING lpwp:021DEC48
<00002> 0019013C R WM_WINDOWPOSCHANGING
<00003> 0019013C S message:0x0422 [User-defined:WM_USER+34] wParam:00200001 lParam:00000000
<00004> 0019013C R message:0x0422 [User-defined:WM_USER+34] lResult:00000001
<00005> 0019013C P message:0xC18C [Registered:"CMBActivate"] wParam:00200001 lParam:00000000

对于常规窗口,我得到以下信息:

<00001> 00190114 S WM_WINDOWPOSCHANGING lpwp:0DFCE920
<00002> 00190114 R WM_WINDOWPOSCHANGING
<00003> 00190114 S message:0x0422 [User-defined:WM_USER+34] wParam:00200001 lParam:00000000
<00004> 00190114 R message:0x0422 [User-defined:WM_USER+34] lResult:00000001
<00005> 00190114 P message:0xC18C [Registered:"CMBActivate"] wParam:00200001 lParam:00000000
<00006> 00190114 S message:0x0425 [User-defined:WM_USER+37] wParam:00000000 lParam:00000033
<00007> 00190114 R message:0x0425 [User-defined:WM_USER+37] lResult:00000000
<00008> 00190114 S WM_WINDOWPOSCHANGING lpwp:0DFCE610
<00009> 00190114 R WM_WINDOWPOSCHANGING
<00010> 00190114 S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0DFCE5B0
<00011> 00190114 R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0DFCE6D4
<00012> 00190114 S WM_WINDOWPOSCHANGED lpwp:0DFCE610
<00013> 00190114 S WM_SIZE fwSizeType:SIZE_RESTORED nWidth:1034 nHeight:563
<00014> 00190114 R WM_SIZE
<00015> 00190114 R WM_WINDOWPOSCHANGED

该问题仅在 Windows 8.1 上为我重现,而不是在此之前的任何版本中。

WM_WINDOWPOSCHANGING 没有被调用而WM_WINDOWPOSCHANGED 根本没有被调用可能是什么原因?据我了解,必须在操作完成后调用它,这可能是我的窗口无法恢复的原因,并且我收到了错误提示音。

【问题讨论】:

    标签: windows-8.1 shell-extensions taskbar window-messages window-position


    【解决方案1】:

    显然,问题出在我的IExtractIconW.GetIconLocation 实现下的服务器通信。

    解决这个问题的方法是记住在给定时间哪些窗口被最小化,并让它们返回一些默认图标位置。

    【讨论】:

      猜你喜欢
      • 2013-10-15
      • 2010-10-25
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多