2010-04-16 1 views
5

У меня есть гибридное приложение Console/Form на C#, и на данный момент я должен полагаться на user32.dll, чтобы показать/скрыть окно консоли. Но я не могу найти способ, в котором я могу определить, если окно консоли скрыто или видимое (без сохранения значения самого)Определить, видно ли окно или нет с помощью C#

ответ

7

IsWindowVisible Function:

IsWindowVisible функция извлекает состояние видимости из указанное окно.

C# Подпись от pinvoke.net:

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

Это не будет проверять каждый раз, когда окно фактически видимым. Прочтите статью msdn. –

+1

Я думаю, вам нужно [DllImport (USER32)] public static extern bool IsIconic (IntPtr hWnd); – Kate

+0

«Любой чертеж в окне со стилем WS_VISIBLE не будет отображаться, если окно затенено другими окнами или обрезано его родительским окном». - Это означает, что это вернет истину, независимо от того, можно ли ее увидеть. – David