使用C#确定窗口是否可见

Mik*_*ike 8 c# user32

我在C#中有一个Console/Form混合应用程序,目前,我必须依赖user32.dll来显示/隐藏控制台窗口.但我似乎无法找到一种方法,我可以确定控制台窗口是隐藏还是可见(不自行存储值)

dtb*_*dtb 11

IsWindowVisible功能:

IsWindowVisible函数检索指定窗口的可见性状态.

来自pinvoke.net的 C#签名:

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool IsWindowVisible(IntPtr hWnd);
Run Code Online (Sandbox Code Playgroud)

  • 只要窗口实际上可见,它就不会检查.阅读msdn文章. (2认同)
  • “如果窗口被其他窗口遮挡或被其父窗口剪裁,则不会显示具有 WS_VISIBLE 样式的窗口的任何绘图。” - 这意味着无论是否可以看到它都会返回true。 (2认同)