SetThreadErrorMode 函数 (errhandlingapi.h)

控制系统是否将处理指定类型的严重错误,或者调用线程是否会处理这些错误。

语法

BOOL SetThreadErrorMode(
  [in]  DWORD   dwNewMode,
  [out] LPDWORD lpOldMode
);

参数

[in] dwNewMode

线程错误模式。 此参数可使用以下一个或多个值。

含义
0
使用系统默认值,即显示所有错误对话框。
SEM_FAILCRITICALERRORS
0x0001
系统不显示严重错误处理程序消息框。 相反,系统会将错误发送到调用线程。

最佳做法是,所有应用程序在启动时使用参数 SEM_FAILCRITICALERRORS 调用进程范围的 SetErrorMode 函数。 这是为了防止错误模式对话框挂起应用程序。

SEM_NOGPFAULTERRORBOX
0x0002
系统不显示Windows 错误报告对话框。
SEM_NOOPENFILEERRORBOX
0x8000
OpenFile 函数在找不到文件时不显示消息框。 相反,错误将返回给调用方。 此错误模式将替代 OF_PROMPT 标志。

[out] lpOldMode

如果函数成功,此参数将设置为线程以前的错误模式。 此参数可以为 NULL。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

每个进程都有一个关联的错误模式,该模式向系统指示应用程序将如何响应严重错误。 线程继承运行它的进程的错误模式。 若要检索进程错误模式,请使用 GetErrorMode 函数。 若要检索调用线程的错误模式,请使用 GetThreadErrorMode 函数。

要求

   
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 errhandlingapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

GetThreadErrorMode

SetErrorMode