It is possible, ask stack overflow https://stackoverflow.com/questions/4743559/how-to-execute-child-console-programs-without-showing-the-console-window-from-th https://stackoverflow.com/questions/18841971/hide-console-window-while-running-a-command-through-c?r=SearchResults
I've recently "fixed" my own script in Visualworks so as to use these low level API (already procided by VW) BOOL CreateProcessW( LPCWSTR imageName, LPCWSTR commandLine, struct SECURITY_ATTRIBUTES *pSecurity, struct SECURITY_ATTRIBUTES *tSecurity, BOOL inheritHandles, DWORD creationFlags, LPVOID environment, LPWSTR currentDirectoryName, struct STARTUPINFO *startupInfo, struct PROCESS_INFORMATION *processInfo) First argument is fullpath to cmd.exe (take it from environment variable 'ComSpec') Second argument is '/u /c ' , 'your command here encoded in utf16' Security arguments are nil and nil inheritHandles is true creationFlags is zero environment is nil currentDirectoryName is nil startupInfo is more involved: it must be used to pass the pair of pipes (handles) for input/output: struct STARTUPINFO { DWORD cb; LPTSTR lpReserved; LPTSTR lpDesktop; LPTSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError; } You initialize it with void GetStartupInfoW(LPSTARTUPINFO lpStartupInfo) IMPORTANT: set wShowWindow to 0, and then pass the input/output/error handles in last three fields. processInfo will contain information on output and must be allocated struct PROCESS_INFORMATION { HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId; } you can then get exit status thru BOOL GetExitCodeProcess call, close the pipes, etc... Le mar. 11 déc. 2018 à 10:08, Christopher Fuhrman < christopher.fuhr...@inria.fr> a écrit : > Thanks Peter. That looks like a cool package. I guess I will live with it > for now, because I don't want to code too much of a platform-specific > solution (yet). > > On Mon, 10 Dec 2018 at 21:16, Peter Uhnak <i.uh...@gmail.com> wrote: > >> This is normal (and much lamented) behavior of cmd. There's >> https://github.com/astares/Pharo-OS-Windows which implements parts of >> the WinAPI... with which one can create headless windows. (I think it >> should be also available in the catalog). >> >> Peter >> >> On Mon, Dec 10, 2018 at 11:47 AM Christopher Fuhrman < >> christopher.fuhr...@inria.fr> wrote: >> >>> Hello, >>> >>> My Git data mining API in Pharo 6.1 uses "LibC uniqueInstance system: >>> 'some commands'" which has an annoying side effect of popping up a window >>> (which steals the GUI focus in Windows 10). Maybe it's the same on MacOS >>> and Linux? >>> >>> As such, I can't use my Windows PC to do anything else when the mining >>> process is running (it can take several minutes). I'm not able to use >>> Pharo's OSProcess or OSSubprocess because they don't support Windows (yet?). >>> >>> I tried creating a separate Windows Desktop (feature of Windows 10), but >>> the CMD.EXE window manages to pop up there, too - almost seems like a >>> windows bug. >>> >>> Does anyone know of a way to have the LibC window not pop up? >>> >>> Cheers, >>> >>> Christopher >>> >>