2016-07-05 7 views
0

Java를 사용하는 소프트웨어 프로젝트에서 작업하고 있습니다. 나는 GUI를 위해 JavaFX도 사용하고있다. 이 소프트웨어가 PC에서 실행될 때 유효한 핀이 입력 될 때까지 PC의 화면을 잠 가야합니다.JNA를 사용하여 일부 PC 키보드 키 사용 안 함

소프트웨어를 실행할 때 제어 키, 대체 키 및 Windows 키와 같은 일부 키보드 키를 사용하지 못하게하고 싶습니다.

JNA를 사용하여 어떻게하면됩니까?

+0

"사용 중지"란 무엇을 의미합니까? 당신이하려는 일에 대해 설명해 주시겠습니까? "Windows 키"에 대한 귀하의 언급은 이것이 Windows라는 것을 의미하지만 어떤 버전입니까? –

+0

WinXP에서 Win10으로 –

+0

당신은 내 질문에서 가장 중요한 부분에 답을하지 않았습니다 : "해제"란 무엇을 의미합니까? 달성하려는 효과는 무엇입니까? –

답변

1

KeyEvent을 사용하여 대상 키가 눌 렸는지 감지 할 수 있습니다.

누르면 아무 작업도 수행하지 않습니다.

과 단지 유사한 페이지 is it is possible to disable the windows keys using java

당신이 JNA 인터페이스를 통해 키 동작을 감지 할 수있는 disable

자세한 내용 how to disable keyboard hotkey in java swing


에 있지만, 키는 여전히 작동합니다.

+0

[KeyHook Java 클래스] (http://stackoverflow.com/a/7793900/4338203)를 사용했지만이 오류가 발생했습니다. 호환되지 않는 유형 :이 코드 줄에서 포인터를 LPARAM으로 변환 할 수 없습니다. lib.CallNextHookEx를 반환하십시오. (hhk, nCode, wParam, info.getPointer()); –

+0

'info.getPointer()'를 쓰는 대신 @InyavicSage를 사용하면 오류를 다시 불러올'새로운 LPARAM (info.getPointer(). getLong (0))'을 쓸 수 있습니다. – itayrabin

0

Winlogon이라는 운영 체제의 로그온 프로세스와 통합하지 않고 Windows 데스크톱을 잠글 수 없습니다.

Windows Vista 이상에서는 PIN 프로세스를 Winlogon Credential Provider으로 만들 수 있습니다. Windows XP에서는 Winlogon GINA hook을 추가해야합니다.

운영 체제의 도움없이 모든 OS 사용자 인터페이스 요소에 대한 액세스를 차단하는 것은 불가능합니다. 그 밖의 것이 없다면, 사용자는 항상 커널에 의해 직접 처리되고 사용자 영역 응용 프로그램에 의해 가로 챌 수없는 Ctrl-Alt-Del을 사용할 수 있습니다.

+0

Ctrl-Alt를 차단하고 싶지 않습니다. - 델 –