2011-12-30 7 views
1

ユーザが別の実行中のアプリケーションをどのように使用するかを取得する.Net Windowsアプリケーションを作成します。別のWindowsアプリケーションからユーザイベント(ボタンクリックなど)を取得する

最も簡単な形式は、クリックされたボタンやメニュー項目が開かれたことを記録することです。ボタンのテキストやメニューのテキストをキャプチャするだけで十分です。

これはイベントを聞いて行うことができますが、これがどのくらい伸びているかはわかりませんでした。 Windowsでは、別のアプリケーションイベントを聞くことができますか、他のアプリケーションから隠されていますか?

もしそうなら、これらのイベントをキャッチするために私が使用できるオープンソースプロジェクトはありますか?これをさらに進化させるには、これらを汎用イベントに変換します(多くのアプリケーションが特定のイベントを発生させる可能性があると考えているため、一般情報の抽出が重要です)。そのアプリケーションのイベントに?私が正しくあなたのポストを理解していれば

感謝

+0

私は一度すなわちどのような、ユーザーのアクティビティのログを記録したプログラムを書きましたウィンドウが開いている、何を入力しているか、どこかをクリックした場合。あなたが具体的に何を押したのかを伝えることができるかどうかはわかりません。 – ediblecode

+0

どのようにその情報に到達しましたか?開いていたウィンドウとマウスがあった場所のみをログに記録できましたか?私はそれらの出来事がWindowsのレベルにあると思う。あなたは正しいですが、私はWindowsの中に含まれている情報を探していると思います... Windows。 – elliotcw

+0

バックグラウンドで実行され、txtファイルに出力されるWindowsサービスを作成しました。私は 'User32.dll'は、開いているウィンドウとそのウィンドウ内のテキストを取得する機能を持っていたと思います。 – ediblecode

答えて

0

は、あなたがWindowsメッセージをフックし、そのメッセージがトリガーされます時にあなたを伝えることができSpy++に似た何かが必​​要。

は、これらのリンクを見てください:

  1. Deliver The Power Of Spy++ To Windows Forms
  2. Spying Window Messages from the Inside
  3. How can I get functionality similar to Spy++ in my C# app?
+0

素晴らしいもの!これらのリンクは非常に貴重なものです。ありがとう。 – elliotcw

+0

他の誰かがこの古い記事に遭遇し、最初のリンク「Deliver The Power ...」で参照されている記事を探している場合は、2006年4月号にその記事があります。上のリンクはメインリストに移動しますが、記事や問題に直接リンクしません。 – Chris

-1
private void CaptureCameraCallback() 

{ 

    using (CvCapture cap = CvCapture.FromCamera(CaptureDevice.Any, 1)) 

    { 

     while (true) 

     { 

      Bitmap bm = BitmapConverter.ToBitmap(cap.QueryFrame()); 

      bm.SetResolution(pctCvWindow.Width, pctCvWindow.Height); 

      pctCvWindow.Image = bm; 

     } 

    } 

} 
関連する問題