2

我强迫了一个可能的漏洞Windows Vista 下 MFC Feature Pack 的功能。它可以很容易地重新创建:

  1. 使用 MFC 功能包(带有基于功能区的界面)创建一个新的 SDI 应用程序。如果需要,您还可以添加一些浮动面板;
  2. 不要更改任何内容,只需构建一个 Release;
  3. 关闭 Visual Studio,运行应用程序并将您的计算机设置为睡眠模式(休眠)。
  4. 从睡眠模式恢复计算机,您会看到应用程序没有很好地恢复:它没有正确显示窗口的标题;不可能增加窗口大小(它会削减框架)等。

有没有人强迫这种行为?

我正在使用 Windows Vista Business SP2 并在我的台式机和笔记本电脑上获得相同的行为。可惜没有在XP或其他平台下测试。

PS:我已经通过将视觉样式切换到任何其他并返回接收 WM_POWERBROADCAST 解决了基于工具栏的应用程序的上述问题。但该技巧不适用于基于功能区的应用程序。

4

1 回答 1

0

我有同样的问题,感谢提示,并寻找它我找到了解决方案,我只在带有工具栏的应用程序中尝试过,我没有在功能区中尝试过,如果它在功能区中有效,请确认我。

什么对我有用:

  // add to class CMainFrame :

    UINT CMainFrame::OnPowerBroadcast(UINT nPowerEvent, UINT nEventData)
    {       
        // Comment "default return" and return true
        //return CMDIFrameWndEx::OnPowerBroadcast(nPowerEvent, nEventData);
        return true;
    }

来源:msdn 论坛

于 2017-09-23T06:26:57.283 回答