• ベストアンサー

他のアプリケーションの動作を監視するには?

C++初心者です。 現在VC++.NETで以下の機能を実装しようと考えています。 ・他アプリケーション(ブラウザなど)への操作(ウィンドウの移動など)を検知 この機能を実現するためグローバルフックやシステムフックと呼ばれる機能を使おうと考えていますが、非常に上級者向けの技術と言うことで少し躊躇しています。 そこで、経験者の方にお聞きしたいのですが、この機能を実装するためにフックを使う事は妥当でしょうか? もちろん必要であるならば一生懸命勉強しますが、いま現在「もしかしたら他にもいい方法があるんじゃないか?」という考えが頭をよぎりなかなか集中できません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Layle
  • ベストアンサー率75% (6/8)
回答No.1

この手の事にそこまで詳しいわけではありませんが、私個人としては妥当ではないかと思います。 アクティブウィンドウの変化程度ならほかに方法があると思いますが、ご提示いただいた機能では他アプリケーションの操作の様な他アプリ無いの細かな操作部分が含まれるので、ウィンドウメッセージを盗み見るのが一番手っ取り早いと思います。 今回の目的とは異なりますが、私は以前にブラウザに表示されたコンテンツをコピーされないように、メッセージをフックしてコピー操作に関連するメッセージを破棄するような事に使いました。

ikasumiramen
質問者

お礼

ご回答ありがとうございます。 すでにブラウザに対するフックを使ったことがある方の回答ということで非常に背中を後押ししていただきました。 コピー機能の破棄ですか、システムフックは失敗すると危険な機能らしいですがうまく使いこなせれば出来ることの幅が一気に広がりそうですね!! 頑張って勉強します。 ありがとうございました。

関連するQ&A