2

我有兴趣了解“全屏”应用程序(将屏幕分辨率更改为特定值的应用程序)如何检测它们何时失去焦点并恢复桌面分辨率。之后,他们如何检测是否通过最大化并将其设置回全屏来重新获得焦点?

基本上我有什么:

LONG SetScreenRes(int cx,int cy)
{
    DEVMODE dm;

    dm.dmSize       = sizeof(DEVMODE);
    dm.dmPelsWidth  = cx;
    dm.dmPelsHeight = cy;
    dm.dmFields     = DM_PELSWIDTH | DM_PELSHEIGHT;

    return ChangeDisplaySettings(&dm, CDS_FULLSCREEN);
}

效果很好,但是当我最小化应用程序时,分辨率不会像任何其他应用程序一样恢复到桌面。因此我问:如何检测到这一点?其他应用程序是否只是挂钩最小化/最大化消息或其他东西?或者可能是一些非常简单的事情?

Visual C++(VS 2012),它是一个 DLL(我实际上是在做一个扩展,这有关系吗?)。

4

1 回答 1

0

问题解决了,连接了 WH_CALLWNDPROC 和消息 WM_ACTIVATEAPP。

于 2013-06-16T10:19:03.590 回答