HWND可见吗?

时间:2009-11-15 20:57:57

标签: c# windows hwnd

那些痴迷的用户及其最小化的窗口。

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

3 个答案:

答案 0 :(得分:5)

GetWindowPlacement函数返回WINDOWPLACEMENT结构,其中包含字段showCmd

  

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

这个读取的细节就好像你要设置窗口状态一样,但我怀疑这是因为它们是从其他地方复制而没有更新的。

答案 1 :(得分:3)

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

答案 2 :(得分:0)

bool isHwndVisible = Control.FromHandle(handle).Visible