Как обнаружить не Java-программу, работающую в полноэкранном режиме? - PullRequest
2 голосов
/ 20 июня 2011

В настоящее время я разрабатываю кроссплатформенное Java-приложение (windows и mac os x), работающее в фоновом режиме и отображающее всплывающее окно для событий некоторых пользователей или системы, таких как «Копирование и вставка» или запуск программ.

Тем не менее, я хотел бы сначала определить, работает ли какая-либо другая программа, не обязательно разработанная на Java, в полноэкранном режиме. В этом случае я бы не отображал свое окно. Например, когда пользователь смотрит фильм в полноэкранном режиме (медиаплеер ...), презентация Powerpoint ...

Итак, вот мои вопросы: 1. Есть ли способ сделать это на языке Java? 2. Если это невозможно, я сделаю свой «детектор полноэкранного режима» на другом языке, но он должен иметь возможность общаться с моим Java-приложением, чтобы уведомить о наличии полноэкранного окна. 3. Если это невозможно (1): знаете ли вы лучший язык для этого? Я нашел другие решения в C # или C ++ MFC ( Как проверить, работает ли другая программа в полноэкранном режиме, например, медиаплеер ).

Любая идея была бы очень полезна. Большое спасибо.

Себастьян

Ответы [ 3 ]

1 голос
/ 07 июля 2011

В конце концов я создал одну внешнюю программу для каждой ОС, которая проверяет, находится ли активное окно в полноэкранном режиме или нет, и записывает результат в стандартный вывод. Мое Java-приложение вызывает хорошую программу в соответствии с ОС и читает результат.

Я использовал:

  • C # для Windows
  • Carbon для Mac OS X

Самой сложной частью была версия для Mac OS X.

Не стесняйтесь спрашивать меня, если вы заинтересованы в этих программах.

Еще раз спасибо за вашу помощь!

0 голосов
/ 20 июня 2011

Самое простое решение - дать пользователю возможность включить / отключить всплывающие окна. Таким образом, они могут выбирать, когда получать всплывающие окна.

0 голосов
/ 20 июня 2011

Вы можете сделать снимок экрана с помощью java.awt.Robot, можете ли вы реализовать алгоритм на основе скриншота?

...