Найти информацию об окне - PullRequest
       2

Найти информацию об окне

0 голосов
/ 22 февраля 2011

Я обнаружил, что окно Yahoo Messenger, которое уведомляет вас, когда кто-то входит в систему или выходит из нее, является единственным окном, которое действительно отображается поверх полноэкранного фильма или игры и не заставляет вас выходить из полноэкранного режима.

Итак, мой вопрос: как я могу узнать, что заставляет это окно вести себя так?Я попробовал Spy ++, но ничего интересного не вышло.

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Есть разные способы сделать это. Некоторые драйверы видеокарт в старых версиях Windows будут вести себя по-разному.

1) Возьмите рабочий стол hwnd и нарисуйте его.

HWND hwnd = GetDesktopWindow();
HDC hdc = GetDC(hwnd);
RECT rect = {};

GetClientRect(hwnd, &rect); // dimensions of the primary monitor are rect.right,rect.bottom

// Use hdc to paint whatever you want to the screen

2) Просто создайте самое верхнее окно без заголовка и используйте стиль WS_EX_TOPMOST. Затем нарисуйте на нем все, что вы хотите

CreateWindowEx(WS_EX_TOPMOST, ...);
0 голосов
/ 22 февраля 2011

Возможно, используется API уведомлений Windows (у меня нет мессенджера Yahoo, поэтому я не уверен). Вот еще немного информации об области уведомлений:

http://msdn.microsoft.com/en-us/library/aa511448.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...