Getting subprocesses to be hidden on Windows

geoffbache geoff.bache at pobox.com
Tue Aug 28 05:08:22 EDT 2007


On Aug 27, 11:28 pm, kyoso... at gmail.com wrote:
> On Aug 27, 3:21 pm, geoffbache <geoff.ba... at pobox.com> wrote:
>
>
>
> > Hi,
>
> > As part of my efforts to write a test tool that copes with GUIs
> > nicely, I'm trying to establish how I can start a GUI process on
> > Windows that will not bring up the window. So I try to hide the window
> > as follows:
>
> > info = subprocess.STARTUPINFO()
> > info.dwFlags |= subprocess.STARTF_USESHOWWINDOW
> > info.wShowWindow = subprocess.SW_HIDE
>
> > proc = subprocess.Popen(..., startupinfo=info)
>
> > This works, in a way, but doesn't work recursively. I.e. if the
> > started process itself starts a window, that second window will not be
> > hidden. This even applies to dialog boxes within the application. So
> > instead of a lot of windows popping up I now get a lot of disembodied
> > dialogs appearing, which is a slight improvement but not much.
>
> > Also, certain processes (e.g. tkdiff) seem to ignore the directive to
> > be hidden altogether.
>
> > This is dead easy on UNIX with virtual displays like Xvfb. Can someone
> > shed any light if it's possible on Windows from python?
>
> > Regards,
> > Geoff Bache
>
> I'm confused. Why would you create a GUI if you're not going to
> actually display it? Isn't that the point of a GUI? Or are you talking
> about the command window popping up?
>
> Mike

Only in the context of testing it. If I run lots of GUI tests on my
computer I want
the tested GUIs to remain hidden so I can still use my computer in the
meantime...

Though if you can tell me how to stop the command window popping up on
Windows
I'll be grateful for that too (though it wasn't the original
question).

Geoff




More information about the Python-list mailing list