Windows OS全体でグローバルに機能するホットキーを使用する必要があるプロジェクトがあります。現在、私の知る限り、現在のフォームでキーイベントを読み取る方法しか知りません。ホットキー ユーティリティをプログラミングするにはどうすればよいですか? そして、それに最適な言語は何でしょうか?
ありがとう
Windows OS全体でグローバルに機能するホットキーを使用する必要があるプロジェクトがあります。現在、私の知る限り、現在のフォームでキーイベントを読み取る方法しか知りません。ホットキー ユーティリティをプログラミングするにはどうすればよいですか? そして、それに最適な言語は何でしょうか?
ありがとう
あなたはこのようなものを探していますか?プログラムがアクティブでない場合でも、キーを押すと応答するはずです。窓の中で、
#include<windows.h>
if(GetAsyncKeyState(0x41)){
//do somethong here
}
注:仮想キーの統計情報を参照してくださいhttp://msdn.microsoft.com/en-us/library/ms927178.aspx
C#/.Net と低レベルのフック (Interops を使用) については、Stephen Toubs の例をご覧ください (ソース付き):
より完全な例 (C#/.Net および Interops も含む) については、クライアント側で通常のイベントを使用してキー押下をトラップするなど、すべてが別のクラスにきちんと含まれているので、これをチェックしてください (実際のソースへのリンクはブログのテキスト、見つけるのが少し難しい):