2013-02-27 33 views
5

我有一个桌面应用程序(非城域)。我需要在某些紧急情况下让用户回到我的应用程序桌面(可能意味着生命或死亡)。如果用户在城市风格应用程序中,如何将焦点重新放回到我的应用程序中?当用户在城市时桌面应用程序需要关注

+2

Upvoted,但如果你是字面上对“生或死”的一部分,你也许应该重新考虑使用Windows作为您的操作系统。那里有特殊用途的操作系统(比如火星探测器上使用的那种)可能更适合。 FWIW,你有没有试过CreateDesktop/SwitchDesktop? – 2013-02-27 22:42:43

+6

如果您的应用程序做出生死决定,您可能不应该在用户可以玩“愤怒的小鸟”的同一台机器上运行。 – 2013-02-27 22:48:40

+0

不幸的是,操作系统在我的控制之外使用它。因为这主要是为了通知群众。我已经使用一些创建桌面魔法。但在某些情况下,最好简单地将用户带回桌面视图,以便他可以与其他应用程序进行交互。我能强制减少还是这样的东西? – megazord 2013-02-28 16:35:51

回答

1

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

它检查是否可见窗口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; 
} 

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