Как удаленно заблокировать и разблокировать любое приложение в Windows - PullRequest
0 голосов
/ 01 марта 2012

Я создаю программу с использованием сокетов Java, в которой я фиксирую рабочий стол клиента и отправляю сообщения клиенту. Он работает нормально, но теперь я хочу заблокировать клиентские приложения, такие как Блокнот, MS-Word и т. Д.

Как я могу это сделать? Спасибо.

1 Ответ

0 голосов
/ 01 марта 2012

Это трудно сделать, используя чистый API Java.Я не знаю, что вы имеете в виду, когда говорите «блокировать».Самый простой способ - это время от времени проверять запущенные процессы и уничтожать один с именем «блокнот», выполняя taskkill из Java.

Если вы хотите добиться эффекта неактивности приложения, то есть пользователь видит блокнот, но не может набрать, вы можете сделать следующее.

Вы должны проверить, какое приложение находится на передней панели.Для этого не существует чистого чистого решения Java, но вы, вероятно, можете написать VBScript или JScript, который выполняет эту задачу, и запустить его из Java.Как только вы обнаружили, что блокнот находится сверху, создайте прозрачное окно (или, возможно, полупрозрачное окно), которое занимает весь экран.Принесите это на вершине.Пользователь не сможет печатать в блокноте, потому что ваше окно находится сверху, но увидит его.

Вот справочник по созданию прозрачных окон: http://java.sun.com/developer/technicalArticles/GUI/translucent_shaped_windows/

Удачи.

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