我有兴趣了解“全屏”应用程序(将屏幕分辨率更改为特定值的应用程序)如何检测它们何时失去焦点并恢复桌面分辨率。之后,他们如何检测是否通过最大化并将其设置回全屏来重新获得焦点?
基本上我有什么:
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(我实际上是在做一个扩展,这有关系吗?)。