# HG changeset patch
# User greg
# Date 1203955168 -3600
# Node ID e2e498333fbc670f96e982ccc3135e0e722fbd2a
# Parent  a05e8b30c024665b8b49e219c4dba7f9acbe68ca
fixed display/hide console when launch external programs

diff -r a05e8b30c024 -r e2e498333fbc wxPopen.py
--- a/wxPopen.py	Sun Feb 24 02:06:42 2008 +0100
+++ b/wxPopen.py	Mon Feb 25 16:59:28 2008 +0100
@@ -59,24 +59,30 @@
             wx.CallAfter(self.endcallback, self.Proc.pid, self.retval)
 
 class ProcessLogger:
-    def __init__(self, logger, Command, finish_callback=None, no_stdout=False, no_stderr=False):
+    def __init__(self, logger, Command, finish_callback=None, no_stdout=False, no_stderr=False, no_gui=True):
         self.logger = logger
         self.Command = Command
         self.finish_callback = finish_callback
         self.no_stdout = no_stdout
         self.no_stderr = no_stderr
+        self.startupinfo = None
         self.errlen = 0
         self.outlen = 0
         self.exitcode = None
         self.outdata = ""
         self.errdata = ""
         self.finished = False
-
+        
+        if no_gui == True and wx.Platform == '__WXMSW__':
+            self.startupinfo = subprocess.STARTUPINFO()
+            self.startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
+        
         self.Proc = subprocess.Popen(self.Command, 
                                    cwd = os.getcwd(),
                                    stdin = subprocess.PIPE, 
                                    stdout = subprocess.PIPE, 
-                                   stderr = subprocess.STDOUT)
+                                   stderr = subprocess.STDOUT,
+                                   startupinfo = self.startupinfo)
 #                                   stderr = subprocess.PIPE)
 
         self.outt = outputThread(