Так что я попытался найти лучшую часть дня для ответа на простой вопрос. Я хочу, чтобы мое приложение C# всплыло еще раз winform по таймеру, а затем закроет его после задержки. Достаточно просто, сделано и сделано. Теперь моя проблема в том, что я хочу, чтобы она действительно была поверх других приложений, если они не являются полноэкранными. Под этим я подразумеваю истинное полноэкранное приложение, такое как игра. Я не хочу вмешиваться в такое приложение, поскольку оно должно иметь приоритет над моим приложением.Как быть OnTop, но не OnTop полноэкранного приложения
Проблема заключается в том, что я использую свойство OnTop в форме всплывающего окна и, хотя он отлично работает для любых других приложений, которые я тестировал во время игры в полноэкранном режиме и в форме, когда она «Show () "s, принимает полноэкранное приложение и переносит его в оконный режим.
Является ли это предполагаемым эффектом свойства «OnTop» с полноэкранными приложениями? Если это так, я могу создать всплывающее окно формы поверх обычных оконных окон и не вмешиваться в полноэкранные приложения?
Любые ссылки, например, удар в общем направлении замечательные. Единственные хиты, которые я придумал при поиске winforms с участием полноэкранного режима, - это люди, которые пытаются получить свое приложение в полноэкранном режиме или же их приложение отвлекло внимание от другого приложения.
Спасибо заранее.
(я не отправлял никакого кода из-за этого просто быть простой WinForm что "formX: Show()" на таймере с "OnTop" набор свойств)
(EDIT) Поэтому, благодаря awilson53 для того, чтобы поставить меня на правильный путь, мне удалось найти метод (хотя и несколько придирчивый), чтобы определить, является ли приложение полноэкранным. Кажется, что это просто, а «хорошо дух», ответ, после того, как все сказано и сделано.
95% кредита переходит к автору статьи: http://www.richard-banks.org/2007/09/how-to-detect-if-another-application-is.html
~ 5% идет awilson53 для получения меня на верном пути. :)
Я не знаю, как легко выйти сюда. Но, возможно, есть способы повторить все открытые приложения и проверить их состояние окна. И после этого определите своего рода «Z-уровень» для вас. –
Показать окно без кражи фокуса может помочь. http://stackoverflow.com/questions/156046/show-a-form-without-stealing-focus – Josh
Windows не позволяет форме быть «самой» 'OnTop'. Что делать, если у другой программы были настройки того же типа? – LarsTech