0
我有一個C#程序,它加載一個C++非託管dll並調用它的函數。該DLL執行一些操作,如果發生錯誤或異常,它會顯示一個Windows消息框。所以如果沒有遇到錯誤,則不會顯示消息框。值得一提的是,我沒有dll的來源。如何檢測C#中的messagebox調用
現在,如果我在C#中調用dll的函數,唯一確保成功執行的方法是檢查在調用過程中是否顯示任何消息框。我的問題是,我該怎麼做?即通過DLL檢測messagebox調用?
由於您的應用程序正在調用函數,請嘗試捕獲'WndProc'中的'WM_INITDIALOG' –
您能否提供更多詳細信息?我不是很熟悉c#@GillBates –
顯示一個響應異常的消息框並不像是一個DLL的合理行爲。 DLL應該拋出異常,並讓* client *代碼處理它。只有當客戶端不處理它時,如果默認的未處理的異常處理程序顯示一個消息框。您確定這些不是簡單地調試消息,告訴您錯誤地使用了DLL(例如傳遞不正確的參數)? –