1

すべてのキーボード操作を記録し、この情報をログ ファイル (キーロガー) に保存するプログラムを作成しています。これを行う良い方法を見つけることができないようです。

私がこれまでに持っているもの: LowLevelKeyboardProc、仮想キー コード + 押されているキーのスキャン コード。

やりたいこと:これらのコードを使用して、実行中のキーボード操作に関する情報を処理および書き込みます。目に見えないキーの場合は、「[SHIFT]、[ENTER]、[ESC]」などの形式が必要です。また、目に見えるキーの場合、次のように入力した場合を含め、ASCII値(大文字と小文字の両方)が必要です。!@#$% など

いくつかのアイデアがありますが、すべてをキャプチャする方法がわかりません。私は情報を持っていますが、それを効率的に処理する方法がわかりません。

4

2 に答える 2

1

ここから私の投稿を参照してください:その他の投稿

低レベルのキーボード フックをインストールする方法とキーストロークを処理する方法のサンプル コードがあります。

于 2011-02-04T04:34:58.567 に答える
0

すでにフックが機能しているので、必要なのはキー コードから特殊キーの名前へのマッピングだけです。キーコードでインデックス付けされた文字列の配列を事前設定するだけです。

const char *map[256];

map[VK_SHIFT] = "[SHIFT]";
map[VK_ENTER] = "[ENTER]";
...

次に、フック関数で、キーが印刷可能な文字かどうかを確認します。そうであれば直接印刷し、そうでなければキーの名前を検索して印刷します。

if (isprint(vkCode))
  yourFile << char(vkCode);
else
  yourFile << map[vkCode];
于 2011-02-04T05:04:03.557 に答える