0
私はC++アンマネージドDLLをロードし、その関数を呼び出すC#プログラムを持っています。 dllはいくつかの操作を実行し、エラーまたは例外が発生した場合は、Windowsのメッセージボックスを表示します。したがって、エラーが発生しなければ、メッセージボックスは表示されません。私はdllのソースを持っていないことに言及する価値があります。C#でメッセージボックス呼び出しを検出する方法
C#でdllの関数を呼び出すと、呼び出しが正常に実行されたことを確認する唯一の方法は、呼び出し中にメッセージボックスが表示されているかどうかを確認することです。私の質問は、私はこれをどうすればできるのですか?すなわち、dllによるメッセージボックス呼び出しを検出するか?
アプリケーションが関数を呼び出しているので、 'WndProc'に' WM_INITDIALOG'を取り込みます。 –
詳細を教えてください。私はc#@GillBates –
でそれほど経験はありません例外に応答してメッセージボックスを表示することは、実際にはDLLのための妥当な動作のようには思えません。 DLLは例外をスローし、* client *コードでそれを処理させます。デフォルトの未処理の例外ハンドラがメッセージボックスを表示する場合、クライアントがそれを処理しない場合のみ。 DLLを間違って使用していることを伝えるメッセージを単にデバッグするだけではないのですか(たとえば間違ったパラメータを渡すなど)。 –