HWND是否可见?

那些沉闷的用户和他们最小化的窗口

在C#中,如果我有一个窗口的HWND,有没有办法判断它是否在桌面上可见?

Solutions Collecting From Web of "HWND是否可见?"

GetWindowPlacement函数返回一个WINDOWPLACEMENT结构,它有一个字段showCmd

指定窗口的当前显示状态。

这个阅读的细节,好像你将设置窗口状态,但我怀疑这是因为他们已经从其他地方复制,而不是更新。

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

 bool isHwndVisible = Control.FromHandle(handle).Visible