WPF в режиме киоска - проблемы с панелью задач - PullRequest
4 голосов
/ 27 ноября 2009

Я пытаюсь создать приложение, которое должно блокировать доступ к ПК во время его работы. Мне нужно, чтобы приложение работало максимально полно в полноэкранном режиме, и чтобы alt-tabbing не разрешал доступ к другим приложениям или панели задач.

Пока что я установил TopMost = true, WindowStyle = WindowStyle.None и WindowState = WindowState.Maximized, который достигает большинства того, что мне нужно, но я все еще получаю случаи, когда панель задач становится видимой. Я попытался реализовать поведение LostFocus в окне, но, похоже, это не дает мне нужного поведения.

Может кто-нибудь указать мне направление, в котором мне нужно реализовать это поведение, пожалуйста?

Дополнительная информация
К сожалению, природа этого проекта такова, что мы не можем изменить клиентские машины, и они работают под управлением XP, Vista и Win7. ПК не принадлежат нам, но должны использоваться для доставки контента максимально безопасным способом. Владельцы ПК знают об ограничениях для запуска программного обеспечения и рады, что они были «заблокированы» во время выполнения нашего приложения, но они не могут быть изменены другим способом.

Другие способы
HakonB упомянул приложение Скотта Хансельмана BabySmash, поэтому я отправился искать его способ справиться с ситуацией. Как говорит ХаконБ, это не самый чистый метод обработки потерянного фокуса, но, похоже, он работает или, по крайней мере, должен работать, пока я не найду лучшего решения. Он использует таймер, который срабатывает каждую секунду, и запускает вызов метода SetForegroundWindow (IntPtr hWnd) user32.dll, чтобы захватить фокус, независимо от того, имеет ли он фокус или нет. Спасибо за внимание, ХаконБ!

1 Ответ

4 голосов
/ 27 ноября 2009

Взгляните на BabySmash Скотта Хансельмана. Вы можете найти сайт по адресу BabySmash

У него было несколько записей в блоге, описывающих его работу по созданию приложения. Оно имеет безопасное для детей приложение в режиме киоска.

Вы можете найти проект на Codeplex

...