2016-07-05 9 views
0

私はJavaを使ってソフトウェアプロジェクトを進めています。私はGUIのためにJavaFXも使用しています。このソフトウェアをPC上で実行するときは、有効なピンが入力されるまでPCの画面をロックする必要があります。JNAを使っていくつかのPCキーボードキーを無効にする

ソフトウェアの実行時にコントロールキー、代替キー、およびWindowsキーなどの一部のキーボードキーを無効にしたいとします。

JNAを使用してこれを行うにはどうすればよいですか?

+0

「無効にする」とはどういう意味ですか?あなたは何をしようとしているのか説明できますか?あなたは "Windowsキー"のあなたの言及は、これはWindowsであることを暗示しますが、どのバージョンですか? –

+0

WinXPからWin10へ –

+0

あなたは私の質問の最も重要な部分に答えなかった:「無効にする」とはどういう意味ですか?どのような効果を達成しようとしていますか? –

答えて

1

KeyEventを使用すると、ターゲットキーが押されたかどうかを検出できます。

これを押すと何もしません。

、それだけで同様のあなたはJNAインタフェースを介してキーアクションを検出することができますが、キーはまだ動作how to disable keyboard hotkey in java swing


このページで

is it is possible to disable the windows keys using java

詳細

disableへ。

+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をブロックしたくありません-Del –

関連する問題