Эти проклятые пользователи и их минимизированные окна.Видимо HWND?
В C#, если у меня есть HWND окна, есть ли способ узнать, видно ли это на рабочем столе?
Эти проклятые пользователи и их минимизированные окна.Видимо HWND?
В C#, если у меня есть HWND окна, есть ли способ узнать, видно ли это на рабочем столе?
GetWindowPlacement
функция возвращает WINDOWPLACEMENT
структуру, которая имеет поле showCmd
:
Определяет текущее состояние показа окна.
Детали этого читаются так, как если бы вы устанавливали состояние окна, но я подозреваю, что это потому, что они были скопированы из другого места и не обновлены.
Спасибо, потратили, по крайней мере, 10 минут скучного поиска в Google, чтобы узнать, как черт должен проверять видимость окна через WinAPI ... Имя немного неясное, и, конечно, документация о том, как скрыть окно, не ссылку на него ... –
bool isHwndVisible = Control.FromHandle(handle).Visible
Это работает только для управляемых элементов управления в текущем приложении. Я думаю, что OP относится к другому приложению. –
Там в Visible
собственность, но проверяет видимый флаг, он не говорит вам, является ли окно покрывается другим окном, или с экрана, и т.д .. Это намного сложнее. Raymond Chen имеет несколько советов, хотя:
http://blogs.msdn.com/oldnewthing/archive/2003/09/02/54758.aspx
http://blogs.msdn.com/oldnewthing/archive/2003/08/29/54728.aspx
+1 для проклятых пользователей – JohnIdol
Мы все являемся пользователями и кто вам программа в любом случае, если не для пользователей? К моменту написания этой статьи у меня есть 5 свернутых окон. – chiccodoro
Эхо сарказма с пяти лет. – directedition