Я смог заставить его работать после обновления ядра, следуя инструкциям в этом блоге.
sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
sudo modprobe aufs
sudo service docker restart
Чтобы добавить к тому, что сказал Shog9, если ваше приложение может перехватить ctrl + alt + del, тогда ваше приложение сможет притвориться диалоговым окном входа в Windows, и тем самым обмануть конец -пользователь вводит свои учетные данные в ваше приложение.
Если вы действительно хотите заменить диалоговое окно входа в Windows, см. Winlogon и GINA (но там написано: «DLL-библиотеки GINA игнорируются в Windows Vista» и Я не слышал, что такое Vista).
если бы кто-то спросил, я бы не сказал им, что они не могут.
Точнее говоря, ваше «прикладное программное обеспечение» не может: вместо этого, по замыслу, только » системное программное обеспечение "может это сделать; и дело не в том, что вам не разрешено или невозможно писать системное программное обеспечение, но ваш OP, казалось, довольно четко спрашивал, как это сделать без написания системного программного обеспечения ... и ответ на , что , заключается в том, что вы не можете: потому что система предназначена для предотвращения подключения приложения комбинации клавиш.
Не могли бы вы дать мне направление для написания системных вещей ... Я вообще-то думаю, что было бы лучше, если бы это был системный уровень ... Это для OEM-производителей, так что действительно важно. Также, если бы я написал его на системном уровне, я мог бы написать приложение для управления им.
Драйвер устройства фильтрации клавиатуры или, например, GINA DLL, будет считаться системным программным обеспечением: установлено администратором (или OEM) и запускается как часть O / S.
Я ничего не знаю о GINA, кроме его названия; и я уже (выше) дал ссылку на это в MSDN. Я ожидаю, что это код пользовательского режима Win32.
Драйверы устройств - это отдельная тема: например, Начало работы по разработке драйверов .
Есть ли способ переназначить клавиатуру, чтобы удалить не там, где она была?
Я все еще не убедитесь, что у вас и / или вашего начальника есть правильная идея. IMHO, вы не должны быть приложением, которое не позволяет пользователю нажимать Ctrl-Alt-Del. Если вы хотите запретить пользователю доступ к системе без ввода пароля, вам следует заблокировать (защитить паролем) систему, как если бы пользователь нажал Ctrl Alt Del, а затем выбрал «Заблокировать этот компьютер». Чтобы разблокировать компьютер, им нужно будет нажать Ctrl Alt Del и ввести свои учетные данные в WinLogon.
Однако, игнорируя то, что вы должны делать, и вместо этого сосредоточившись на том, что вы способны делать, если вы хотите перехватить клавиатуру , видимо это можно сделать. Я сам не изучал клавиатуры, но этот пост и этот пост заявляют об успехе, написав «Драйвер фильтра клавиатуры» (который является разновидностью режима ядра, а не Win32, драйвер устройства). Если вы напишете один из них, вы можете получить ответ, например, эта реакция от DDK MVP или эта реакция от продукта для защиты от слежки .
Вы не можете. Весь смысл Ctrl + Alt + Del заключается в том, что с этим справляется только система, потому что таким образом система может всегда обрабатывать его.
К счастью, в Windows есть встроенная поддержка экранных заставок, защищенных паролем (доступная как параметр «При возобновлении, защита паролем» в свойствах экрана или через групповую политику). Просто используйте это.
Я не тестировал его, но как насчет использования SetWindowsHookEx ()
Из документа MSDN: WH_KEYBOARD_LL
Windows NT / 2000 / XP: Устанавливает подключаемую процедуру, которая отслеживает события ввода с клавиатуры низкого уровня. Для получения дополнительной информации см. Подключаемую процедуру LowLevelKeyboardProc.
Вы могли добиться этого в XP и ранее, но не в Vista.
Можно перехватить crtl + alt + del, хотя, очевидно, Microsoft сделала это очень это сложно сделать, потому что тогда вы можете открыть диалоговое окно фальшивой блокировки и записать пароли людей.
Ответ - написать драйвер устройства. Я не могу вспомнить, можете ли вы использовать простой старый фильтр клавиатуры или вам нужно написать ISR клавиатуры. В любом случае, это, безусловно, возможно, но с большой болью, если у вас нет опыта вождения.
Попробуйте написать приложение, которое запускается как хранитель экрана, защищенный паролем.
Заставки могут делать больше, чем просто отображать красивые картинки - раньше я видел интерактивные заставки, которые использовали мышь и клавиатура, чтобы создать простую игру, хотя я не могу вспомнить, в какой версии окон я видел, что это работало ... Это вполне могла быть Windows 95 (в этом случае все ставки отключены).
А как насчет перехвата нажатий клавиш ctrl и alt во время работы программы и отмены этих нажатий клавиш?
Я не знаю, насколько хорошо это будет работать, если вообще будет работать в Vista, но попробовать стоит.
Я помню, как делал что-то подобное примерно в 2001 году, так что это, вероятно, работало на 98. Слишком давно я даже не пытался вмешиваться с чем-то вроде блокировки ctrl-alt-del.
Хорошо .. Я не собираюсь размещать здесь код Но суть в том, что это
крючок для клавиатуры. когда пользователь нажимает ctrl || alt || delete установить bools в значение true .. если они нажмут что-нибудь еще, установите для них все значение false.
switch (p_key)
{
default: Clear(); break;
case Keys.LMenu: altHit = true; break;
case Keys.RMenu: altHit = true; break;
case Keys.LControlKey: ctrlHit = true; break;
case Keys.RControlKey: ctrlHit = true; break;
case Keys.Delete: delHit = true; break;
когда на экране фокус переходит к диспетчеру задач, закройте чертову штуку. Экран мигает так быстро, что пользователь этого не замечает. И я могу делать все, что хочу.
Я признаю, что это путаница, но она дает желаемый эффект. (О, если бы мне не пришлось этого делать)