

お世話になります。  
表題の件に付きましてお力添えを頂けますでしょうか？

現在VB.NETでアプリケーションを作成しております。

作成中のアプリケーションA（WindowsFormアプリケーション）から他アプリケーションB（例．cmd.exe）をProcess.startで起動します。

この時アプリケーションBに対するウインドウメッセージをリアルタイムに取得（確認）をする方法はありますでしょうか？

WIN32APIのGetMessage
関数がそれに当たるのではないかと当たりをつけて調べていますがVB.NETでどのように実装すべきか見当がつかない状況です。

よろしくお願いします。


CC BY-SA 3.0
2016-08-06T19:20:02.857
28097
2016-08-07T00:15:52.603
10607
question
vb.net winapi
他アプリケーションが受信するウインドウメッセージの取得方法について


一般論としては[`SetWindowsHookEx`](https://msdn.microsoft.com/ja-
jp/library/cc430103.aspx)でフック可能です。  
しかしVisual
Basic.NETで`SetWindowsHookEx`を呼び出す場合、VBではネイティブDLLを作成することが出来ませんので、引数として指定できるのは低レベルフックの`WH_KEYBOARD_LL`と`WH_MOUSE_LL`に限られます。  
なのでメッセージをすべてフックするような純.NETアプリの実装は不可能だと思います。


CC BY-SA 3.0
2016-08-07T00:15:52.603
28098
2016-08-07T00:15:52.603
5750
28097
answer