- ベストアンサー
パソコンの操作を監視する方法はあるのか?
- パソコンの前に人間が座りカタカタ操作しているか、長時間操作されず放置されているかを判別するプログラムを作りたい。難しくて手が出せない私には、キーボードやマウスの操作を検知する方法が次善の策だ。ExcelやWordなどのアプリケーションのために、C#で操作検知プログラムを作成できるのだろうか?実行権限がない場合でも操作を検知する方法はあるのか?
- パソコンの操作を監視するためには、人間の姿をカメラで検知する方法や、キーボードやマウスの操作を検知する方法がある。しかし、私にはカメラを使った方法は難しそうだ。そのため、次善の策としてキーボードやマウスの操作を検知する方法を探している。具体的なプログラムテクニックだけでなく、ヒントやアイデアも歓迎だ。
- パソコンの操作を監視するプログラムを作成したいが、カメラを使った方法は難しそうだ。そこで、次善の策としてキーボードやマウスの操作を検知する方法を考えている。ExcelやWordなどのアプリケーションのために、C#で操作検知プログラムを作成できるのだろうか?実行権限がない場合でも操作を検知する方法はあるのか?ご教示いただけると幸いだ。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
一般的にマウスやキーボードなどの操作はメッセージとしてアプリケーションに送られますが、これをフックによってアプリケーションに送られる前に横取りすることができます。 所望の動作は、グローバルフックを使ってWindowsメッセージを横取りして検知することで実現できます。横取りしたメッセージはアプリケーションに戻すようにしてください。 他にWMIで統計情報を取得してできるかもしれませんが、マウスイベントやキーボードイベントがWindowsで統計情報として収集されているか確認できませんでした。
その他の回答 (5)
- tomonkey0225
- ベストアンサー率61% (8/13)
何時間かおきに、クイズやパス入力のポップアップ表示をさせる。 解答があればいる、なければいない。 オンラインゲームなどのBOT対策などに使われてる手法になります。
お礼
ありがとうございます ゲームは全くやりませんでしたので気づきませんでした 世の中には色々な方法を考え付く人がいるものですねぇ~!!! 感心してしまいました
- todo36
- ベストアンサー率58% (728/1234)
http://www.google.com/search?q=C%23+idle+time CodeProjectのサンプルがよさそう
お礼
ありがとうございます 早速参考にさせて頂きました 今後も宜しくご指導の程お願い申しあげます ありがとうございました
- superside0
- ベストアンサー率64% (461/714)
Windowsのコントロールパネルのタスクのところでアイドル状態になった時に 実行するプログラムを登録できるので、 たとえば、「コンピュータが次の時間アイドル状態になった場合のみタスクを開始する」にして これを10分とかにしておけば、 10分操作しないと、登録したプログラムが実行できます。 実行されるプログラム自体は、目的に合わせて、 特定のログファイルにそのアイドル状態になった時刻を書き出しするとか なにかのコマンドを実行するbatファイルにするとか、 それように作ればいいのでは?
お礼
「コンピュータが次の時間アイドル状態になった場合のみタスクを開始する」 こんな設定ができるとは知りませんでした ユーティリティを作っておりますので、この手段は色々なところで使えます 今日は本当に良いことを教わりました ありがとうございました
- dscripty
- ベストアンサー率51% (166/325)
これ一番楽かな? コントロールパネルの電源オプションでシステムスタンバイまでの時間を設定するのはどう? 節電にもなるしね。 あとは ping でもなんでもなんなりと。
お礼
ありがとうございました 勉強になりました!!!
- Hiyuki
- ベストアンサー率36% (2604/7183)
デフラグとかでも強制的にスクリーンセイバーがONになることから、スクリーンセイバーは操作をされない時間がカウントされていませんか? これを応用してはどうでしょうか?
お礼
ありがとうございます 参考になりました
お礼
ありがとうございます いまグローバルフックについて勉強を始めております MS-DOS時代、インターラプトの横取りを多用しておりましたので感覚的にも着いていけると思います 今後も宜しくお願い申し上げます ありがとうございました