import ctypes kernel32 = ctypes.windll.kernel32 msvcrt = ctypes.windll.msvcrt SEM_NOGPFAULTERRORBOX = 0x02 old_value = kernel32.SetErrorMode(SEM_NOGPFAULTERRORBOX) kernel32.SetErrorMode(old_value | SEM_NOGPFAULTERRORBOX) CRT_WARN = 0 CRT_ERROR = 1 CRT_ASSERT = 2 CRTDBG_MODE_FILE = 1 CRTDBG_FILE_STDERR = -5 old_modes = {} for report_type in [CRT_WARN, CRT_ERROR, CRT_ASSERT]: old_mode = msvcrt._CrtSetReportMode(report_type, CRTDBG_MODE_FILE) old_file = msvcrt._CrtSetReportFile(report_type, CRTDBG_FILE_STDERR) old_modes[report_type] = old_mode, old_file ctypes.string_at(0)