2010-04-16 35 views
5

Tôi có ứng dụng hỗn hợp Console/Form trong C# và tại thời điểm này, tôi phải dựa vào user32.dll để hiển thị/ẩn cửa sổ bảng điều khiển. Nhưng tôi dường như không thể tìm thấy một cách thức mà tôi có thể xác định xem các cửa sổ giao diện điều khiển là ẩn hay nhìn thấy (không có lưu trữ các giá trị bản thân mình)Xác định xem cửa sổ có hiển thị hay không bằng C#

Trả lời

7

IsWindowVisible Function:

Chức năng IsWindowVisible lấy trạng thái hiển thị của cửa sổ được chỉ định.

C# Chữ ký từ pinvoke.net:

[DllImport("user32.dll")] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool IsWindowVisible(IntPtr hWnd); 
+2

Điều đó sẽ không kiểm tra bất cứ khi nào cửa sổ là trong thực tế có thể nhìn thấy. Đọc bài viết msdn. –

+1

Tôi nghĩ rằng bạn cần [DllImport (USER32)] public static extern bool IsIconic (IntPtr hWnd); – Kate

+0

"Mọi bản vẽ vào cửa sổ có kiểu WS_VISIBLE sẽ không được hiển thị nếu cửa sổ bị che khuất bởi các cửa sổ khác hoặc bị cắt bớt bởi cửa sổ chính." - Điều này có nghĩa là điều này sẽ trả về true bất kể nó có thể được nhìn thấy hay không. – David

Các vấn đề liên quan