[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-11-09 Thread swgmma
swgmma added the comment: Just squashed all the commits. -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-11-02 Thread swgmma
Change by swgmma : -- versions: +Python 3.11 -Python 3.8 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-11-02 Thread swgmma
swgmma added the comment: Anything else left to do? -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-30 Thread Eryk Sun
Eryk Sun added the comment: Here's an example test that calls WinAPI GetConsoleWindow() and IsWindowVisble() in a child process. if mswindows: try: import ctypes except ImportError: ctypes = None # added in Win32ProcessTestCase def

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-29 Thread swgmma
swgmma added the comment: Thanks all for the guidance. Have gone back to the original `force_hide` with the suggested documentation. -- ___ Python tracker ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-29 Thread Eryk Sun
Eryk Sun added the comment: > There's nothing gained by complicating this API with more options. Yes, both options is too much. I suggested force_hide_console as an alternative to force_hide, not for both to be implemented. It would be the same as CreateNoWindow in .NET ProcessStartInfo

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-29 Thread Steve Dower
Steve Dower added the comment: There's nothing gained by complicating this API with more options. Document it as "Passing *force_hide* as True attempts to start the application without creating or showing any windows. Some applications may ignore this request, and applications that are

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-29 Thread swgmma
swgmma added the comment: What if we change `force_hide` from True/False to something like "off" | "console" | "all" (defaulting to "off")? -- ___ Python tracker ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-28 Thread Eryk Sun
Eryk Sun added the comment: If only force_hide is implemented, based on `wShowWindow=SW_HIDE`, please ensure that it's clearly documented that this option hides the main window (i.e. first top-level window) of any application that doesn't bypass the default behavior of the window manager.

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-28 Thread Steve Dower
Steve Dower added the comment: I'd rather only have one force_hide option that does its best to hide everything. Yes, it's probably unintuitive for GUI apps, it might even be maliciously misused, but it does have occasional legitimate uses. And besides, an app can easily ignore SW_HIDE if

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-28 Thread Eryk Sun
Eryk Sun added the comment: > is it feasible to just have one option that handles all cases? I'm in favor of whatever has broad support and is least surprising for users. I like CREATE_NO_WINDOW, which is restricted to console applications. The alternative is hiding the window, like what we

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-28 Thread swgmma
swgmma added the comment: For users who simply want to hide a process' window and do not have intimate knowledge of how the window is created by Windows, is it feasible to just have one option that handles all cases? Or do we have to implement both `force_hide` and `force_hide_console` and

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-28 Thread Eryk Sun
Eryk Sun added the comment: > What is the most trivial way to test it's behaviour? With CREATE_NO_WINDOW, the child process is attached to a console that has no window. Thus calling GetConsoleWindow() in the child returns NULL without an error. OTOH, if the child has no console (e.g.

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-28 Thread swgmma
swgmma added the comment: Just added a commit implementing `force_hide_console`. What is the most trivial way to test it's behaviour? -- ___ Python tracker ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-18 Thread Eryk Sun
Eryk Sun added the comment: I was intending force_no_window as an alternative to adding force_hide, since CREATE_NO_WINDOW only affects console applications. Maybe a better name is force_hide_console. -- ___ Python tracker

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-18 Thread swgmma
swgmma added the comment: I implemented your first suggestion for `force_hide`. Should we add your `force_no_window` suggestion as well? -- ___ Python tracker ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-16 Thread Eryk Sun
Eryk Sun added the comment: The force_hide option could also force the use of a new hidden window, even if the current process has a console. That way the output is always hidden. For example: if force_hide or shell: if force_hide and not (creationflags &

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-16 Thread Steve Dower
Steve Dower added the comment: That 'force_hide' in the NEWS shouldn't have single backticks. Make them ``double``, or the docs won't compile. -- ___ Python tracker ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-16 Thread Steve Dower
Steve Dower added the comment: Had a look. The change looks fine, just needs a NEWS entry, which I suggested as: Adds new `force_hide` argument to :mod:`subprocess` functions. This passes ``SW_HIDE`` to the new process, which most applications will use to not display any window even if

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2021-10-14 Thread swgmma
swgmma added the comment: Ping in case anyone from the windows team is available to review the PR -- ___ Python tracker ___ ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-15 Thread swgmma
Change by swgmma : -- pull_requests: -18362 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-15 Thread swgmma
Change by swgmma : -- pull_requests: +18362 pull_request: https://github.com/python/cpython/pull/18719 ___ Python tracker ___ ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-15 Thread swgmma
Change by swgmma : -- keywords: +patch pull_requests: +18361 stage: needs patch -> patch review pull_request: https://github.com/python/cpython/pull/19014 ___ Python tracker

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-15 Thread swgmma
swgmma added the comment: > Try running that script with pythonw.exe instead. That did the trick. Confirmed that the changes are working as intended. Running the test script posted earlier and adding the new `force_hide` kwarg to the subprocess call: With `force_hide=False`, a command

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-02 Thread Steve Dower
Steve Dower added the comment: It'll have to be a program that cannot inherit the active console. Ffmpeg normally can, but running the first script with pythonw will make sure there is no console to inherit, and a new one will pop up for a regular Python process. --

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-01 Thread Philip Lee
Philip Lee added the comment: To reproduce the reported issue, one could also test with ffmpeg.exe -- ___ Python tracker ___ ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-01 Thread Steve Dower
Steve Dower added the comment: Try running that script with pythonw.exe instead. -- ___ Python tracker ___ ___ Python-bugs-list

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-03-01 Thread swgmma
swgmma added the comment: Sorry, perhaps I did not word it clearly. Indeed the code to implement this looks trivial, however the part I am having trouble with is reproducing the reported issue in the first place. For example, running the attached file from a command prompt (`python

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-02-29 Thread Steve Dower
Steve Dower added the comment: If you use subprocess to launch any process that is marked SUBSYSTEM_CONSOLE, Windows will create a new console for it. For example, "python.exe" is such a process. Eryk's answer in the very first StackOverflow link shows how to create a STARTUPINFO parameter

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-02-29 Thread swgmma
swgmma added the comment: I would like to pick up work on this (have started at link below), however I would like some help: For testing purposes, could someone please provide a minimum working example of using subprocess that causes a command prompt to pop up? I have not been able to

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2020-02-28 Thread swgmma
Change by swgmma : -- nosy: +swgmma ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2018-11-19 Thread Steve Dower
Steve Dower added the comment: Looks like it's available. It will be a new subprocess option to not create a new window. The underlying issue is that some applications always request a console, and if your own application doesn't have one then Windows will create it. Normally you would fix

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2018-11-15 Thread neel patel
neel patel added the comment: Can I work on this? I'm not sure of it's status, though. -- nosy: +ohno ___ Python tracker ___ ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2017-08-06 Thread Jeffrey Rackauckas
Changes by Jeffrey Rackauckas : -- pull_requests: +3046 ___ Python tracker ___ ___

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2017-04-17 Thread Eryk Sun
Eryk Sun added the comment: Hiding the console is required often enough that a keyword-only parameter for this would be useful. Other platforms could simply ignore it, in contrast to writing platform-dependent code that passes startupinfo. Note that this option would also hide the window of

[issue30082] hide command prompt when using subprocess.Popen with shell=False on Windows

2017-04-16 Thread Philip Lee
New submission from Philip Lee: First, It is nearly useless for the command prompt to pop up during the running time of subprocess.Popen with shell=False. Second, the popping up command prompt would interrupt users and do bad to user experience of GUI applications. Third, I found QProcess