Как сохранить панель задач внизу других окон?

Я пытаюсь сделать приложение, которое должно быть полноэкранным. Но когда я нажимаю CTRL+ALT+DEL, появляется диспетчер задач. Даже я отключаю диспетчер задач, в это время появляется его сообщение об ошибке и панель задач становится видимой. Затем пользователь получает возможность перейти на рабочий стол, но я не хочу, чтобы пользователь получил этот шанс. Только пользователь мог перейти на рабочий стол, когда он сделал то, что от него хочет приложение. Поэтому мне нужно, чтобы панель задач оставалась внизу других окон, пока пользователь не сделает то, что он должен делать. И мне нужно сделать это с помощью моего приложения, которое я пытаюсь закодировать на Java.

Как я могу изменить статус панели задач с помощью реестра?


person MOD    schedule 24.01.2013    source источник
comment
С какой стати вы хотите держать пользователя в заложниках вашего приложения (единственные причины, которые я могу придумать, не очень этичны)?   -  person assylias    schedule 24.01.2013
comment
Неа. Я хочу сделать это по уважительной причине :D   -  person MOD    schedule 24.01.2013
comment
Я думаю, вам нужно изменить настройки Windows, это может стать очень важным в Java.   -  person joey rohan    schedule 24.01.2013
comment
Но как я могу сделать это с помощью java без перезагрузки машины?   -  person MOD    schedule 24.01.2013
comment
Какую версию ОС вы используете   -  person joey rohan    schedule 24.01.2013
comment
@assylias - есть много законных ситуаций, когда вы хотели бы заблокировать компьютер под своей собственной настраиваемой оболочкой. Например, общедоступные терминалы в режиме киоска/устройства.   -  person pap    schedule 24.01.2013
comment
@pap Согласен, и в этом случае решение, как я полагаю, обычно состоит в использовании настраиваемой ОС.   -  person assylias    schedule 24.01.2013
comment
@assylias По моему опыту, общее решение — написать приложение и запустить его модально в полноэкранном режиме. Настройка и поддержка ОС выходит за рамки возможностей большинства компаний. Хотя бы потому, что гораздо проще найти кого-то, кто разработает и поддержит приложение на Java или C#, чем того, кто сможет изменить скин и настроить *nix-дистрибутив. Я видел много информационных киосков, банкоматов и интеллектуальных торговых автоматов, которые запускали модальное полноэкранное приложение поверх ОС. Не уверен, что видел тот, на котором работала настроенная ОС.   -  person pap    schedule 24.01.2013
comment
Но когда я использую диалоговое окно и делаю его модальным, та же проблема возникает снова. Пользователь по-прежнему может получить доступ к панели задач   -  person MOD    schedule 26.01.2013


Ответы (4)


Почему бы не отключить панель задач навсегда?

Перейдите по этой ссылке, чтобы навсегда отключить панель задач.

Вы можете редактировать файлы .reg в Java, следуя этой ссылке знать, как редактировать .reg файлов

"Но как я могу сделать это с помощью Java, не перезагружая компьютер?"

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

person joey rohan    schedule 24.01.2013

Хорошо, я нашел это.

Когда я изменил значение 8-го байта переменной настроек на 10 в

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2

в реестре

Просто снимите флажок «Держать панель задач поверх других окон».

Для применения изменений следует убить explorer.exe и запустить его заново.

person MOD    schedule 26.01.2013

Есть нажатия клавиш, которые Windows улавливает до того, как они будут отправлены в приложение, и Ctrl+Alt+Del — одно из них.

Что касается «Затем пользователь получает возможность перейти на рабочий стол», если вы установите frame.setAlwaysOnTop (true); пользователь не сможет переключиться на другое приложение.

person Abdullah Shaikh    schedule 24.01.2013

Вы можете использовать полноэкранный API Java, а затем использовать робота, чтобы вернуть фокус вашему приложению. См. здесь: Полноэкранная программа Java (Swing) -Tab/ALT F4< /а>. Удачи во всем, что вы делаете - это не звучит весело!

person David Lavender    schedule 24.01.2013
comment
CTRL+ALT+DEL здесь проблема. - person joey rohan; 24.01.2013