-2

私は検索に時間を費やしたので、これがすでに誰かに答えられていたらすみません。さまざまなタスクを実行するプログラムを C# で作成しましたが、ファイルから情報を収集するのではなく、自分のソフトウェアと同時に開いている別の実行中のプログラムからいくつかの値を取得したいと考えています。この別のプログラムには、変数と、独自の変数に配置する必要がある画面上のデータの両方があります。これについて良い方法はありますか?C++ にはいくつかのメソッドがあることは知っていますが、それらについては知りません。したがって、C++ で記述して C# で呼び出す必要がある場合でも、問題ありません。

編集:詳細情報; 実行時にデータを取得するために必要な 2 つのメッセージ ボックス領域と 3 つの int 変数があります。

4

2 に答える 2

0

マネージド アプリケーションにアタッチする場合は、Snoop がこれを行う方法を確認できます。オープンソースです: http://snoopwpf.codeplex.com/

... ファイルから情報を収集するのではなく ...

まあ、これらのアプローチのいずれかではなく、WCFなどの標準的な非ファイル通信(または学習曲線が少ない代替手段) を使用して通信できます。

于 2013-06-01T23:21:32.220 に答える
0

EnumWindowsを使用してすべてのウィンドウを一覧表示することを検討してください。

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);

その後、それらのウィンドウに関する追加情報を取得できます。たとえば、ウィンドウ タイトルを取得する方法を説明するブログ投稿を次に示します。

于 2013-06-01T23:23:43.980 に答える