2013-02-27 10 views
5

Ho un'applicazione desktop (non metropolitana). Devo riportare l'utente alla mia applicazione Desktop in alcune situazioni di emergenza (potrebbe significare la vita o la morte). Come faccio a focalizzare nuovamente l'attenzione sulla mia applicazione se l'utente si trova in un'applicazione in stile metropolitana?L'applicazione desktop necessita di messa a fuoco quando l'utente è in metropolitana

+2

upvoted, ma se sei stato letterale circa la parte "vita o di morte" si dovrebbe forse riconsiderare l'utilizzo di Windows come sistema operativo. Ci sono sistemi operativi per scopi speciali là fuori (come quello usato su Mars Rover) che potrebbero essere più adatti. FWIW, hai provato CreateDesktop/SwitchDesktop? –

+6

Se la tua applicazione prende decisioni di vita o di morte, probabilmente non dovresti essere in esecuzione sulla stessa macchina in cui l'utente può giocare a Angry Birds. –

+0

Sfortunatamente il sistema operativo l'ha usato fuori dal mio controllo. Perché questo è essenzialmente per la notifica alle masse. Uso già alcuni per creare la magia del desktop. Ma in alcuni casi è preferibile riportare l'utente alla visualizzazione desktop in modo che possa interagire con altre applicazioni. Potrei forzare un minimizzare o qualcosa del genere? – megazord

risposta

1

Trovato questo ottimo codice di esempio su MSDN.

Controlla se la schermata iniziale di Windows 8 è visibile o meno. Controlla.

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; 
} 

Segui questo link per scaricare l'esempio completo di codice C++ (Visual C++ 2012/13): http://code.msdn.microsoft.com/windowsdesktop/Start-screen-visibility-b1a72059

Problemi correlati