2010-08-21 39 views
10

Tôi đã làm ứng dụng trình thông báo trong C# nằm trên thanh tác vụ và hiển thị bóng khi tôi nhận được nội dung nào đó từ nó, tương tự như Google Talk khi bạn nhận được email mới. bỏ qua nếu tôi đang chạy một ứng dụng trên toàn màn hình hay không và chỉ cần làm nó là công việc.Phát hiện nếu người dùng có bất kỳ ứng dụng nào đang chạy ở chế độ toàn màn hình

Làm cách nào để phát hiện và đảm bảo ứng dụng ở chế độ toàn màn hình? Tôi không có nghĩa là tối đa hóa (như một ứng dụng có thể được tối đa hóa trên màn hình của bạn nhưng vẫn không ở chế độ toàn màn hình) nhưng toàn màn hình thực sự.

Ví dụ: khi bạn chạy một trò chơi nhiều nhất sẽ chạy ở chế độ toàn màn hình.

Ban đầu GetForegroundWindow()GetWindowRect() đến tâm trí của tôi, nhưng ngay cả như vậy tôi có thể làm cho một cửa sổ đi lớn hơn sau đó màn hình của tôi nếu tôi không phải là trên toàn màn hình đó sẽ không giúp tôi vì vậy tôi tự hỏi nếu có lá cờ khác hoặc cách tiếp cận điều này?

+0

Trong khi tôi không biết câu trả lời chính xác, những gì bạn mô tả có vẻ như Chế độ độc quyền toàn màn hình. –

+0

là chế độ độc quyền toàn màn hình, thuật ngữ được sử dụng cho điều này chắc chắn? Tôi không chắc chắn về những gì thuật ngữ sẽ là ... – Prix

Trả lời

4

Đối với PowerPoint, xem bài viết này MS KB đây: http://support.microsoft.com/kb/913045

Screen Saver: Windows API: FindWindow ("WindowsScreenSaverClass"). (Để biết thêm chi tiết xem bài viết web này: http://bobmoore.mvps.org/Win32/w32tip22.htm - nó có một cách detailsd hơn để làm điều đó, nhưng tôi nghĩ FindWindow sẽ làm việc ok cho bạn)

Đối với việc phát hiện nếu một trò chơi toàn màn hình được sử dụng: IDirect3DDevice9 :: TestCooperativeLevel http://msdn.microsoft.com/en-us/library/bb174472(VS.85).aspx

Nếu không, tôi nghĩ bạn đang đi đúng hướng với GetForegroundWindow, GetWindowRect và các cửa sổ định vị khác.

Mọi thứ trở nên phức tạp với bạn có nhiều màn hình - vì vậy đừng quên kịch bản đó vì nó liên quan đến ứng dụng của bạn.

+1

Cảm ơn tôi sẽ kiểm tra xem nhưng tôi đã tìm kiếm một tra cứu gerenic hơn, có để thực sự đi qua tất cả những để kiểm tra xem nó sẽ được loại đau đớn. – Prix

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