パソコンの前に人間が座りカタカタ操作しているか、長時間操作されず放置されているかを判別するプログラムを作りたい ⇒ パソコンに対してある種の監視を行いたいのです
誰しも思いつくのはパソコンカメラに人間の姿が写っているか否かを判断する方法があるでしょう ⇒ でも私には難しくて手が出ない
そこで次善に思い付くのはキーボードやマウスが頻繁に操作されていれば人間がパソコンの前にいるだろうと判断することです
ではExcel、Word、その他のアプリケーションの為にキーボードやマウスが操作されたことを検知するプログラムをC#で作れるだろうか?
すなわち自分が実行権を持っていない時の操作検知をする方法はあるのでしょうか?
具体的なプログラムテクニックだけではなく、何等かのヒントでも結構です
ぜひご指導の程お願い申し上げます
No.2ベストアンサー
- 回答日時:
一般的にマウスやキーボードなどの操作はメッセージとしてアプリケーションに送られますが、これをフックによってアプリケーションに送られる前に横取りすることができます。
所望の動作は、グローバルフックを使ってWindowsメッセージを横取りして検知することで実現できます。横取りしたメッセージはアプリケーションに戻すようにしてください。
他にWMIで統計情報を取得してできるかもしれませんが、マウスイベントやキーボードイベントがWindowsで統計情報として収集されているか確認できませんでした。
ありがとうございます
いまグローバルフックについて勉強を始めております
MS-DOS時代、インターラプトの横取りを多用しておりましたので感覚的にも着いていけると思います
今後も宜しくお願い申し上げます
ありがとうございました
No.5
- 回答日時:
No.4
- 回答日時:
Windowsのコントロールパネルのタスクのところでアイドル状態になった時に
実行するプログラムを登録できるので、
たとえば、「コンピュータが次の時間アイドル状態になった場合のみタスクを開始する」にして
これを10分とかにしておけば、
10分操作しないと、登録したプログラムが実行できます。
実行されるプログラム自体は、目的に合わせて、
特定のログファイルにそのアイドル状態になった時刻を書き出しするとか
なにかのコマンドを実行するbatファイルにするとか、
それように作ればいいのでは?
「コンピュータが次の時間アイドル状態になった場合のみタスクを開始する」 こんな設定ができるとは知りませんでした
ユーティリティを作っておりますので、この手段は色々なところで使えます
今日は本当に良いことを教わりました
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マルウェア・コンピュータウイルス 他人のパソコンなどのWEBカメラを乗っ取って盗撮するスパイソフトやウィルスソフトについて 1 2023/04/20 07:21
- ノートパソコン ノートパソコン キーボードが反応しない 突然、ノートパソコンのキーボードが反応しなくなりました。 外 5 2022/08/05 07:15
- Windows 10 【パソコン カラーフィルターができない 】 パソコンは、富士通。Windows10を使っています ネ 1 2022/04/10 10:38
- その他(悩み相談・人生相談) 昨日、ネット通販のお問合せ対応(メール)の求人のアルバイトの面接を受けに行きました。 その時に簡単な 3 2022/05/11 08:30
- ノートパソコン パソコンに詳しい方に相談です。 実は長時間ダウンロードをする際、 パソコンの電源が落ちます(電源コン 6 2022/12/05 20:09
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(クラウドサービス・オンラインストレージ) OneDriveの容量がいっぱいになったので容量を減らしたいのですが、写真と動画をパソコンのCドライ 7 2023/08/16 19:34
- その他(パソコン・周辺機器) ユーザーインターフェースについての質問です。 3 2023/05/05 17:32
- 写真 どっちのカテ 1 2022/10/28 20:09
- Firefox(ファイヤーフォックス) Firefoxでグーグルの検索画面が変です 2 2022/09/20 19:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
なんかC言語でプログラム書いて...
-
PIC のデータEEPROMに書き込み...
-
VBAで外部プログラムを非表示で...
-
sendkeysにてALT+CTRL+INSERTを...
-
mutexを使った簡単なサンプルと...
-
exeファイルが開かないのはなぜ...
-
sleep()関数について
-
C++でCtrl+Cを無効化したい
-
プログラミング ソースコード
-
MFC VC++ 6.0 使用
-
VistaでのDEPを無効化したいの...
-
Java JNI C++リンク dll読み...
-
C言語のFFTについて教えてくだ...
-
MACで動く実行ファイルをWindow...
-
バックグラウンドからフォアグ...
-
他のPC上にあるexeを、そのP...
-
秒数を数える(C言語)
-
IT未経験で入社しました。 COBO...
-
終了してもプログラムが実行し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
なんかC言語でプログラム書いて...
-
プログラミング ソースコード
-
MACで動く実行ファイルをWindow...
-
実行時エラー429
-
Windows10でDOSゲーム
-
VB上で実行中の無限ループの止め方
-
他のPC上にあるexeを、そのP...
-
sendkeysにてALT+CTRL+INSERTを...
-
VBAで外部プログラムを非表示で...
-
システム資源とは?
-
プロセス間通信について
-
アクセス[ファイルを開かずに、...
-
C言語でプログラムを再起動
-
C言語で途中までしか、プログラ...
-
system関数を使用してsuコマン...
-
終了してもプログラムが実行し...
-
PIC のデータEEPROMに書き込み...
-
実行中の実行ファイルの上書き
-
他の実行ファイルを実行するプ...
おすすめ情報