Reagan: CreateProcess()?

Clay Smith clayasaurus at gmail.com
Wed Sep 5 08:45:50 PDT 2007


The globals file is not necessary, just replace globals.programDir with 
the location of the program directory as a char[].

execProcess(char[] program, char[] args, bool requireExitCode=true)

you don't need to run from cmd prompt to set program arguments, just do

execProcess("C:\svn\svn.exe", "co svn.dsource.org");

For batch scripts, use C:\systemwhatever\cmd.exe as program name and 
batch.bat as the argument, that is supposed to work.

~ Clay

okibi wrote:
> Well, I can take out the import and comment out off the directory settings and the function works, however I need to give the full path of the command. 
> 
> However, it won't let me run batch scripts through the function at all. And for commands that take arguments, I seem to need to send it through a cmd prompt, which opens a window obviously. The only thing that really helped was the ability to choose whether to wait for the exit code or not.
> 
> Is the fact that the directory stuff is missing as well as the globals file causing this issue?
> 
> thanks!
> 
> okibi Wrote:
> 
>> The globals module is missing. Where can I find it?
>>
>> Thanks!
>>
>> Clay Smith Wrote:
>>
>>> okibi wrote:
>>>> Hey Reagan,
>>>>
>>>> I took your suggestion about getting system() to run without a window by creating a CreateProcess(). I looked at your example on:
>>>>
>>>> http://www.digitalmars.com/d/archives/digitalmars/D/29556.html
>>>>
>>>> I can't get it to compile! I'm getting an error for expecting type ulong on line 107 in your pipestream.d file.
>>>>
>>>> Any ideas?
>>>>
>>>> Thanks!
>>> Here you go:
>>>
>>> Windows info:
>>> http://paste.dprogramming.com/dptyg7pt.php
>>>
>>> Create Process:
>>> http://paste.dprogramming.com/dpsgva0j.php
>>>
>>> You can use execProcess or my ChildProcesses class.
>>>
>>> ~ Clay
> 


More information about the Digitalmars-d-learn mailing list