2010-08-21 5 views
10

Я сделал приложение-уведомление в C#, которое сидит на панели задач и отображает воздушный шар, когда я что-то получаю от него, подобно Google Talk, когда вы получаете новое электронное письмо, но на момент его появления игнорирует, если я запускаю приложение на полноэкранном режиме или нет, и просто выполняю работу.Обнаруживать, если у пользователя есть приложение, работающее в полноэкранном режиме

Как я могу обнаружить и убедиться, что приложение находится в полноэкранном режиме? Я не имею в виду максимизацию (так как приложение может быть максимально на вашем экране, но все еще не в полноэкранном режиме), а в полноэкранном режиме.

Например, когда вы запускаете игру, большинство из них будет работать в полноэкранном режиме.

Первоначально GetForegroundWindow() и GetWindowRect() пришла мне в голову, но даже в этом случае я мог бы сделать окно идти больше, то мой экран, если я не на весь экран, не помогли бы мне так мне интересно, если есть другие флаги или способы приблизиться это?

+0

Хотя я не знаю точного ответа, то, что вы описываете, похоже на полноэкранный эксклюзивный режим. –

+0

- полноэкранный эксклюзивный режим, используемый для этого точно? Я не уверен, что будет этот термин ... – Prix

ответ

4

Для PowerPoint, обратитесь к этой статье MS KB здесь: http://support.microsoft.com/kb/913045

Screen Saver: Windows API: FindWindow ("WindowsScreenSaverClass"). (Более подробную информацию см эту веб-статью: http://bobmoore.mvps.org/Win32/w32tip22.htm - она ​​имеет более detailsd способ сделать это, но я думаю, что FindWindow будет работать нормально для вас)

Для обнаружения при полной игре экран используется: IDirect3DDevice9 :: TestCooperativeLevel http://msdn.microsoft.com/en-us/library/bb174472(VS.85).aspx

В противном случае, я думаю, вы находитесь на правильном пути с помощью GetForegroundWindow, GetWindowRect и другого позиционирования окна api.

Все осложняется тем, что у вас более одного монитора, поэтому не забывайте, что этот сценарий имеет отношение к вашему приложению.

+1

Спасибо, я проверю это, но я искал более грубый поиск, чтобы на самом деле пройти через все это, чтобы проверить, будет ли это больно. – Prix

Смежные вопросы