当用户在地铁中时,桌面应用程序需要关注

meg*_*ord 5 c++ windows focus microsoft-metro

我有一个桌面应用程序(非地铁).在某些紧急情况下,我需要让用户回到我的应用程序桌面(可能意味着生死).如果用户在metro风格的应用程序中,如何将焦点重新放回我的应用程序?

Sof*_*ner 1

在 MSDN 上找到了这个很棒的示例代码。

它检查 Windows 8 开始屏幕是否可见。一探究竟。

PCWSTR const _GetMonitorAppVisibilityString(MONITOR_APP_VISIBILITY monitorAppVisibility)
{
    PCWSTR pszAppVisibilityString = nullptr;
    switch (monitorAppVisibility)
    {
        case MAV_NO_APP_VISIBLE:
            pszAppVisibilityString = L"no apps visible";
            break;

        case MAV_APP_VISIBLE:
            pszAppVisibilityString = L"a visible app";
            break;

        case MAV_UNKNOWN:
        __fallthrough;
        default:
            pszAppVisibilityString = L"unknown";
            break;
    }
    return pszAppVisibilityString;
}
Run Code Online (Sandbox Code Playgroud)

请点击此链接下载完整的示例 C++ 代码 (Visual C++ 2012/13): http://code.msdn.microsoft.com/windowsdesktop/Start-screen-visibility-b1a72059