это можно отключить клавиши окон и Alt + Tab с помощью Java ...это можно отключить клавиши Windows с помощью Java
ответ
Вы можете использовать ЮНА для достижения этой цели.
Включите jna.jar и platform.jar в путь к классам и создайте следующий класс. Этот класс отключает левый ключ окна (0x5B) и правый ключ окна (0x5C). Таким образом, вы можете добавить другие коды в оператор case switch.
Вызовите KeyHook.blockWindowsKey() как можно скорее, когда начнется ваше приложение. С другой стороны, вызовите unblockWindowsKey() при завершении работы приложения.
Поскольку код выполняется только в том случае, если isWindows() является истинным, вы всегда можете вызвать KeyHook.blockWindowsKey() даже при работе на другой ОС.
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef.HMODULE;
import com.sun.jna.platform.win32.WinDef.LRESULT;
import com.sun.jna.platform.win32.WinDef.WPARAM;
import com.sun.jna.platform.win32.WinUser.HHOOK;
import com.sun.jna.platform.win32.WinUser.KBDLLHOOKSTRUCT;
import com.sun.jna.platform.win32.WinUser.LowLevelKeyboardProc;
import com.sun.jna.platform.win32.WinUser.MSG;
public class KeyHook {
private static HHOOK hhk;
private static LowLevelKeyboardProc keyboardHook;
private static User32 lib;
public static void blockWindowsKey() {
if (isWindows()) {
new Thread(new Runnable() {
@Override
public void run() {
lib = User32.INSTANCE;
HMODULE hMod = Kernel32.INSTANCE.GetModuleHandle(null);
keyboardHook = new LowLevelKeyboardProc() {
public LRESULT callback(int nCode, WPARAM wParam, KBDLLHOOKSTRUCT info) {
if (nCode >= 0) {
switch (info.vkCode){
case 0x5B:
case 0x5C:
return new LRESULT(1);
default: //do nothing
}
}
return lib.CallNextHookEx(hhk, nCode, wParam, info.getPointer());
}
};
hhk = lib.SetWindowsHookEx(13, keyboardHook, hMod, 0);
// This bit never returns from GetMessage
int result;
MSG msg = new MSG();
while ((result = lib.GetMessage(msg, null, 0, 0)) != 0) {
if (result == -1) {
break;
} else {
lib.TranslateMessage(msg);
lib.DispatchMessage(msg);
}
}
lib.UnhookWindowsHookEx(hhk);
}
}).start();
}
}
public static void unblockWindowsKey() {
if (isWindows() && lib != null) {
lib.UnhookWindowsHookEx(hhk);
}
}
public static boolean isWindows(){
String os = System.getProperty("os.name").toLowerCase();
return (os.indexOf("win") >= 0);
}
}
Привет. Есть ли способ отключить ctrl-alt-del? Ваш код работает хорошо, но can not block ctrl-alt-del. Появляется диспетчер задач – MOD
- 1. Отключить горячие клавиши Windows
- 2. Как отключить ярлыки Windows с помощью java?
- 3. Отключить некоторые клавиши клавиатуры ПК с помощью Java
- 4. Отключить автоматическое обновление Windows с помощью Java
- 5. Отключить некоторые клавиши клавиатуры ПК с помощью JNA
- 6. Как отключить полные клавиши клавиатуры с помощью javascript или jquery?
- 7. Java: Можно ли отключить масштабирование Windows DPI из java?
- 8. Можно отключить автобоксинг Java?
- 9. Как отключить звук звукового сигнала Windows при нажатии клавиши удаления
- 10. Firefox 10.0 отключить горячие клавиши с помощью user.js
- 11. Можно ли отключить Java-процесс под Windows Service с помощью C#?
- 12. Можно ли это решить с помощью Ehcache?
- 13. Отключить распознавание речи Windows с помощью Dragonfly
- 14. Отключить клавиатуру с помощью клавиши возврата с быстрым
- 15. Карта Windows + JILK на клавиши со стрелками с помощью AutoHotKey?
- 16. Как отключить некоторые клавиши/ярлыки в Linux?
- 17. Как отключить нормальное поведение клавиши Alt?
- 18. Отключить клавиатурные клавиши, используя Application.OnKey
- 19. Отключить клавиши со стрелками для ввода номера с помощью angularjs
- 20. Отключить наклеивают на текстовое поле с помощью нажатия клавиши
- 21. Отключить отправку формы с помощью клавиши ввода только __аких полей
- 22. WPF MVVM отключить фокус на ContentControl (с помощью клавиши Tab)
- 23. Как отключить короткие клавиши на ComboBox на C# с помощью приложения Windows?
- 24. Постоянно отключить Windows Aero с помощью vb.net
- 25. windows phone 8 - можно отключить кнопки приложения?
- 26. Отключить нажатие клавиши Tab внутри редактора TinyMCE с помощью JQuery
- 27. Как отключить форму submit с помощью клавиши ввода?
- 28. Как отключить UAC с помощью Windows PowerShell?
- 29. WPF: отключить клавиши со стрелками на tabcontrol
- 30. Как я могу отключить все быстрые клавиши Windows в vb.net?
Некоторые нажатия клавиш невозможно отловить, если вы не используете драйвер устройства режима ядра. Почему Windows разрешает приложению препятствовать тому, чтобы вы отказались от текущей задачи? –
Хотя у вас есть точка для Alt + Tab, на самом деле есть хороший случай для отключения клавиш Win в полноэкранных приложениях, таких как игры. Я не могу сказать, сколько раз я случайно натолкнулся на левую клавишу Win в игре, только чтобы минимизировать весь экран. – Will
@Will - предположительно, разработчики Windows думают иначе ... –