2011-12-01 70 views
1

當一個exe嘗試加載缺少的DLL時,窗口將顯示一個彈出消息。有什麼方法可以將某些東西打印到stderr嗎?缺少DLL:打印消息而不是啓動彈出窗口

我打開代碼級別的更改,但如果系統範圍內的設置(註冊表?)將打印該消息,而不是使用彈出窗口,那就太棒了。

+1

這通常發生在您的代碼開始運行之前。還沒有stderr。 –

回答

1

LoadLibrary文檔包含了相關的提示:

要啓用或DLL加載過程中由裝載機顯示禁用錯誤消息,請使用SetErrorMode功能。

因此,您必須在嘗試加載DLL之前先調用SetErrorMode來禁用對話框。但是,這不會將錯誤重定向到stderr。你必須親自發現錯誤,並打印stderr

+0

問題不清楚應用程序是調用LoadLibrary還是依靠Windows來動態鏈接DLL,但我會假設後者。 –