2010-04-16 22 views
5

Ho un'applicazione ibrida Console/Form in C# e al momento devo affidarmi a user32.dll per mostrare/nascondere la finestra della console. Ma io non riesco a trovare un modo in cui posso determinare se la finestra della console è nascosto o visibile (senza memorizzare il valore stesso)Determinare se una finestra è visibile o non utilizzare C#

risposta

7

IsWindowVisible Function:

La funzione IsWindowVisible recupera lo stato di visibilità di la finestra specificata.

C# Firma da pinvoke.net:

[DllImport("user32.dll")] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool IsWindowVisible(IntPtr hWnd); 
+2

Questo non controllerà ogni volta che la finestra è in realtà visibile. Leggi l'articolo di msdn. –

+1

Penso che sia necessario [DllImport (USER32)] public static extern bool IsIconic (IntPtr hWnd); – Kate

+0

"Qualsiasi disegno su una finestra con lo stile WS_VISIBLE non verrà visualizzato se la finestra è oscurata da altre finestre o è ritagliata dalla relativa finestra padre." - Il che significa che restituirà true indipendentemente dal fatto che possa essere visto. – David