调用LoadLibrary()时默默捕获Windows错误弹出窗口

时间:2010-10-30 10:40:55

标签: winapi

在调用LoadLibrary()时,是否可以静默捕获错误弹出窗口,例如“过程入口点xxx无法位于动态链接库xxx中”?

1 个答案:

答案 0 :(得分:10)

您可以通过调用SetErrorMode()

来取消错误弹出窗口
// GetErrorMode() only exists on Vista and higher,
// call SetErrorMode() twice to achieve the same effect.
UINT oldErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS);
SetErrorMode(oldErrorMode | SEM_FAILCRITICALERRORS);

HMODULE library = LoadLibrary("YourLibrary.dll");

// Restore previous error mode.
SetErrorMode(oldErrorMode);

LoadLibrary()的调用仍然会失败。