Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains
additional information.
+.. data:: STARTF_FORCEONFEEDBACK
+
+ A :attr:`STARTUPINFO.dwFlags` parameter to specify that the
+ *Working in Background* mouse cursor will be displayed while a
+ process is launching. This is the default behavior for GUI
+ processes.
+
+ .. versionadded:: 3.13
+
+.. data:: STARTF_FORCEOFFFEEDBACK
+
+ A :attr:`STARTUPINFO.dwFlags` parameter to specify that the mouse
+ cursor will not be changed when launching a process.
+
+ .. versionadded:: 3.13
+
.. data:: CREATE_NEW_CONSOLE
The new process has a new console, instead of inheriting its parent's
import signal
import sys
import _winapi
+from subprocess import STARTUPINFO, STARTF_FORCEOFFFEEDBACK
from .context import reduction, get_spawning_popen, set_spawning_popen
from . import spawn
try:
hp, ht, pid, tid = _winapi.CreateProcess(
python_exe, cmd,
- None, None, False, 0, env, None, None)
+ None, None, False, 0, env, None,
+ STARTUPINFO(dwFlags=STARTF_FORCEOFFFEEDBACK))
_winapi.CloseHandle(ht)
except:
_winapi.CloseHandle(rhandle)
STD_INPUT_HANDLE, STD_OUTPUT_HANDLE,
STD_ERROR_HANDLE, SW_HIDE,
STARTF_USESTDHANDLES, STARTF_USESHOWWINDOW,
+ STARTF_FORCEONFEEDBACK, STARTF_FORCEOFFFEEDBACK,
ABOVE_NORMAL_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS,
HIGH_PRIORITY_CLASS, IDLE_PRIORITY_CLASS,
NORMAL_PRIORITY_CLASS, REALTIME_PRIORITY_CLASS,
"STD_INPUT_HANDLE", "STD_OUTPUT_HANDLE",
"STD_ERROR_HANDLE", "SW_HIDE",
"STARTF_USESTDHANDLES", "STARTF_USESHOWWINDOW",
+ "STARTF_FORCEONFEEDBACK", "STARTF_FORCEOFFFEEDBACK",
"STARTUPINFO",
"ABOVE_NORMAL_PRIORITY_CLASS", "BELOW_NORMAL_PRIORITY_CLASS",
"HIGH_PRIORITY_CLASS", "IDLE_PRIORITY_CLASS",
#ifndef STARTF_USESHOWWINDOW
#define STARTF_USESHOWWINDOW 0x00000001
#endif
+#ifndef STARTF_USESIZE
+#define STARTF_USESIZE 0x00000002
+#endif
+#ifndef STARTF_USEPOSITION
+#define STARTF_USEPOSITION 0x00000004
+#endif
+#ifndef STARTF_USECOUNTCHARS
+#define STARTF_USECOUNTCHARS 0x00000008
+#endif
+#ifndef STARTF_USEFILLATTRIBUTE
+#define STARTF_USEFILLATTRIBUTE 0x00000010
+#endif
+#ifndef STARTF_RUNFULLSCREEN
+#define STARTF_RUNFULLSCREEN 0x00000020
+#endif
+#ifndef STARTF_FORCEONFEEDBACK
+#define STARTF_FORCEONFEEDBACK 0x00000040
+#endif
+#ifndef STARTF_FORCEOFFFEEDBACK
+#define STARTF_FORCEOFFFEEDBACK 0x00000080
+#endif
#ifndef STARTF_USESTDHANDLES
#define STARTF_USESTDHANDLES 0x00000100
#endif
+#ifndef STARTF_USEHOTKEY
+#define STARTF_USEHOTKEY 0x00000200
+#endif
+#ifndef STARTF_TITLEISLINKNAME
+#define STARTF_TITLEISLINKNAME 0x00000800
+#endif
+#ifndef STARTF_TITLEISAPPID
+#define STARTF_TITLEISAPPID 0x00001000
+#endif
+#ifndef STARTF_PREVENTPINNING
+#define STARTF_PREVENTPINNING 0x00002000
+#endif
+#ifndef STARTF_UNTRUSTEDSOURCE
+#define STARTF_UNTRUSTEDSOURCE 0x00008000
+#endif
typedef struct {
PyTypeObject *overlapped_type;
WINAPI_CONSTANT(F_DWORD, SEC_RESERVE);
WINAPI_CONSTANT(F_DWORD, SEC_WRITECOMBINE);
WINAPI_CONSTANT(F_DWORD, STARTF_USESHOWWINDOW);
+ WINAPI_CONSTANT(F_DWORD, STARTF_USESIZE);
+ WINAPI_CONSTANT(F_DWORD, STARTF_USEPOSITION);
+ WINAPI_CONSTANT(F_DWORD, STARTF_USECOUNTCHARS);
+ WINAPI_CONSTANT(F_DWORD, STARTF_USEFILLATTRIBUTE);
+ WINAPI_CONSTANT(F_DWORD, STARTF_RUNFULLSCREEN);
+ WINAPI_CONSTANT(F_DWORD, STARTF_FORCEONFEEDBACK);
+ WINAPI_CONSTANT(F_DWORD, STARTF_FORCEOFFFEEDBACK);
WINAPI_CONSTANT(F_DWORD, STARTF_USESTDHANDLES);
+ WINAPI_CONSTANT(F_DWORD, STARTF_USEHOTKEY);
+ WINAPI_CONSTANT(F_DWORD, STARTF_TITLEISLINKNAME);
+ WINAPI_CONSTANT(F_DWORD, STARTF_TITLEISAPPID);
+ WINAPI_CONSTANT(F_DWORD, STARTF_PREVENTPINNING);
+ WINAPI_CONSTANT(F_DWORD, STARTF_UNTRUSTEDSOURCE);
WINAPI_CONSTANT(F_DWORD, STD_INPUT_HANDLE);
WINAPI_CONSTANT(F_DWORD, STD_OUTPUT_HANDLE);
WINAPI_CONSTANT(F_DWORD, STD_ERROR_HANDLE);