判断当前是否有窗口全屏

批注:这种方法不太方便,因为你必须实现一个appbar,可能是个假的,但还是不方便。 add by debehe 2008.1.22

我之前用过的方法有两种:

1.得到当前激活窗口,比较他与desktop的大小

2.以屏幕4个角的4个点为坐标分别得到4个窗口,判断这4个窗口是否同一个

这两个方法“都可以”,应该我他能判断得出有游戏正在全屏状态,但是这毕竟不是“官方做法”,今天我的朋友gzh告诉我了这么一个“官方做法”,看来有空要多看看shell方面的知识了。

官方做法:

可以直接从msdn上查到,呵呵,原来我也不知道。下面两个分别是中文和英文版msdn中的地址 ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/shell/reference/messages/abn_fullscreenapp.htm

ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/shell/reference/messages/abn_fullscreenapp.htm

ABN_FULLSCREENAPP Notification

实现(具体看一下msdn就好了,地址都贴在上面了,呵呵,自己看会比我说的清楚):

调用函数:fRegistered = (BOOL) SHAppBarMessage(ABM_NEW, pabd);

参数:调用之前设置好pabd,uCallbackMessage设为ABN_FULLSCREENAPP

返回值:fOpen = (BOOL) lParam;

经验分享 程序员 微信小程序 职场和发展