簡體   English   中英

如何檢測是否有應用全屏顯示或退出全屏顯示?

[英]How to detect if any app goes fullscreen or exiting fullscreen?

當有其他應用全屏顯示(如powerpoint或VLC)時,我需要在我的應用上禁用通知,以免打擾用戶。

現在,我看這段代碼,但它始終返回true。 是否有一些全屏應用程序。 我不確定這是否只適用於應用程序欄或任務欄。

HWND  hWnd;
hWnd = FindWindow(L"Shell_TrayWnd", nullptr);
if( hWnd )
{
    APPBARDATA apd;
    apd.cbSize = sizeof(APPBARDATA);
    apd.hWnd = hWnd;
    bool uState = bool(SHAppBarMessage(ABN_FULLSCREENAPP , &apd));
    if(uState)
        qDebug()<<"fullscreen";
    else
        qDebug()<<"not fullscreen";
}

ABN_FULLSCREENAPP不是您發送給Shell的消息,而是當應用程序進入或ABN_FULLSCREENAPP全屏模式時Shell發送給您的消息。 該消息將發送到使用ABM_NEW創建的應用欄的所有者。

文檔在這里

我閱讀的文檔是,您必須創建一個應用欄才能接收此消息,但是如果要隱藏它,則可以使用ABM_SETPOS將其設置為零高度或寬度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM