2017-11-20 29 views
1

キーボード上のすべてのキーをウィンドウにバインドして、クリックすると自分のメソッドだけが実行されるようにしたい。すべてのキーをバインドする/クリックするウィンドウ

私はroot.bind_all("<Key>", MyFunction)がすべてのキーをバインドすることがわかりました。しかし、私はWindowsキーを押すと、それはまだスタートメニューを開きます。 Alt-Tabはタブの変更も中止されません。

すべてのキーをカバーするキーバインドがありますか、またはクライアントが強制的にプログラムを離れるのを防ぐためのより良い方法ですか? (私はroot.attributes("-fullscreen", 1)を使用して、ウィンドウを「出ない」ようにします)

ありがとう。

答えて

3

または強制的にクライアントからプログラムを離れるのを防ぐより良い方法はありますか?

いいえオペレーティングシステムでは許可されていません。そうしないと、ユーザーはあなたが書いているウイルスから離れることができなくなります。

オペレーティングシステムは、キーストロークを最初に評価し、関連するプログラムをプログラムに渡します。渡されるものは、あなたがそれを持っている方法で捕まえることができます。スタートメニューのキーを無効にするなどの操作は、オペレーティングシステムの設定で行う必要があります。

つまり、各OSにはフックが用意されている可能性があります。たとえば、Windowsキーを無効にするhere is one for Ubuntu Unityなどです。