1

C ++で記述されたアプリを監視し、それがいつ移動するかを知って、c#Windowsフォームアプリが一緒に移動できるようにする必要があります。

タイマーを使用してC++アプリの位置をポーリングできますが、より良い解決策が必要です。

1つのアプリのWindowsメッセージを監視して、アプリが移動したかどうかを確認するにはどうすればよいですか?

できますか?

または、それを行うためにC ++ dllを見つける必要がありますか、それとも作成する必要がありますか?

4

2 に答える 2

0

C#アプリからC ++アプリをポーリングしたくない場合は、C ++アプリからC#にデータをプッシュするのがおそらく最善でしょう。そうすれば、不要なポーリングを取り除くことができます(これが理由だと思います) C#を介してC ++をポーリングしたくない)。

これを行うには、WM_COPYDATAを使用して、C ++アプリケーションからC#アプリケーションにデータを送信できるようにします。

于 2011-08-13T22:58:04.007 に答える
0

SetWindowsHookWH_CBTフックを使用して、ウィンドウが移動したことを通知できます。

Visual C#でWindowsフックを設定する方法を参照してください。またはp/Invoke.net

于 2011-08-13T23:01:54.907 に答える