开发者

Is HWND visible?

Those darned users and their minimized windows.

In C#, if I have a window's HWND, is there a way to tell if it is visible on the desk开发者_如何学Ctop?


The GetWindowPlacement function returns a WINDOWPLACEMENT structure which has a field showCmd:

Specifies the current show state of the window.

The details of this read as though you would be setting the window state, but I suspect that this is because they've been copied from somewhere else and not updated.


There's the Visible property, but that checks the visible flag, it doesn't tell you whether the window is being covered by another window, or off the screen, etc.. That's a lot more tricky. Raymond Chen has some tips, though:

  • Determining whether your window is covered
  • Painting only when your window is visible on the screen


bool isHwndVisible = Control.FromHandle(handle).Visible
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜