summaryrefslogtreecommitdiff
path: root/Modules/_winapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_winapi.c')
-rw-r--r--Modules/_winapi.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Modules/_winapi.c b/Modules/_winapi.c
index eefc2571ee..83cde75011 100644
--- a/Modules/_winapi.c
+++ b/Modules/_winapi.c
@@ -39,8 +39,11 @@
#include "structmember.h" // PyMemberDef
+#ifndef WINDOWS_LEAN_AND_MEAN
#define WINDOWS_LEAN_AND_MEAN
+#endif
#include "windows.h"
+#include <winioctl.h>
#include <crtdbg.h>
#include "winreparse.h"
@@ -63,6 +66,14 @@
#define T_HANDLE T_POINTER
+// winbase.h limits the STARTF_* flags to the desktop API as of 10.0.19041.
+#ifndef STARTF_USESHOWWINDOW
+#define STARTF_USESHOWWINDOW 0x00000001
+#endif
+#ifndef STARTF_USESTDHANDLES
+#define STARTF_USESTDHANDLES 0x00000100
+#endif
+
typedef struct {
PyTypeObject *overlapped_type;
} WinApiState;
@@ -1201,8 +1212,10 @@ _winapi_ExitProcess_impl(PyObject *module, UINT ExitCode)
/*[clinic end generated code: output=a387deb651175301 input=4f05466a9406c558]*/
{
#if defined(Py_DEBUG)
+#ifdef MS_WINDOWS_DESKTOP
SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOALIGNMENTFAULTEXCEPT|
SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX);
+#endif
_CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG);
#endif