キーロガーを作ってみた。
ファイル一式
https://github.com/umhr/KeyLogger
要点
・C#のWM_INPUTを使うと、デバイスが発行する生の情報がとれる。
・アプリ(小さいほうのウィンドウ)がフロントに無くてもとれる。
・今回は、マウスとキーボードの情報を取得。
・複数マウス対応、複数キーボードもたぶんいける。
・AIRに標準出力で渡している。
・AIR(大きいほうのウィンドウ)は値を受け取って適当に描画している。
愚痴的な経緯
AIRへの標準出力で渡すときは、いつもConsole.WriteLineを使っているけど、コマンドプロンプトからも確認できたら良いなと思って、違う方法で実装してみた。
FlashDevelopで開発中は問題なかったものの、なぜかAIRアプリケーションにすると、渡せない。
半日格闘して、Console.WriteLineに戻したところ、あっさり渡せた。なんでやねん!ってことで忘れないように記事を書くことにした。
けど、それだけの話を書いてもさみしいので、複数デバイス対応もやってみた。