ウィンドウハンドルを使用してIUnkownゲット
質問
私は本当にCOMについてその多くを知っていないように私を許して、これはロングショットかもしれ知っています。
基本的に私が何をしようとしていますどのような実行中のアプリケーションのためのIUnknownインターフェイスへのポインタを取得し、問題がアプリについて私が知っている唯一のことは、そのメインウィンドウハンドルであるされています。
これは可能でしょうか?
解決
これを行うには、
"標準" の方法は、<のhref = "http://msdn.microsoft.com/en-us/library/dd373622%28VS.85%29.aspx" のrel = "nofollowをnoreferrerであります「> AccessibleObjectFromWindow のWin32 APIの。それはあなたの走行距離は変更になる場合がありますので、多くのものは、実際に、これをサポートし、ないと述べました。あなたは、あなたが取り戻すのIntPtrにMarshal.GetObjectForIUnknownを使用し、HWNDを渡す、AccessibleObjectFromWindowへのPInvokeを思います。
他のヒント
ウィンドウがあなたのプロセスにある場合時々はい、(そうでない場合は別のプロセス内のポインタは、あなたに無意味である)と、ウィンドウの作家は、明示的にメッセージを期待してインタフェースを返していることを伝えます。不要にし、作家にとっては未知のメッセージが予期しない動作を持つことになり送信がない場合には、ほとんどありません、人々は通常、ハックを書いていません。
所属していません StackOverflow