topic "LocalProcess2"; [ $$0,0#00000000000000000000000000000000:Default] [i448;a25;kKO9; $$1,0#37138531426314131252341829483380:structitem] [l288;2 $$2,0#27521748481378242620020725143825:desc] [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:codeitem] [{_}%EN-US [ {{10000@(113.42.0) [s0; [*@7;4 Functions4U Reference. LocalProcess2]]}}&] [s4;2 &] [s1;:Upp`:`:LocalProcess2`:`:class: [@(0.0.255) class]_[* LocalProcess2]_:_[@(0.0.255) publi c]_[*@3 AProcess]&] [s0;2 &] [s0; [2 LocalProcess2 permits to launch and handle new process from a host application.]&] [s0;2 &] [s0; [2 These processes are defined by a classical command line like the used in the command window, although it can add default directory and environment variables.]&] [s0;2 &] [s0; [2 LocalProcess2 is a fork of LocalProcess adding some new abilities like:]&] [s0;i150;O0; [2 Process pauses (suspends) and resumes including all children processes and threads.]&] [s0;i150;O0; [2 Process killing includes all children processes and threads.]&] [s0;i150;O0; [2 Process starting includes default directory.]&] [s3; &] [ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Start`(const char`*`,const char`*`,const char`*`): [@(0.0.255) b ool]_[* Start]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 cmdline], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 envptr]_`=_(([@(0.0.255) void]_`*)[@3 0]), [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 dir]_`=_(([@(0.0.255) void]_`*)[@3 0]))&] [s2; Starts a new process defined by the command line [*@3 cmdline], using [*@3 envptr] environment variables and running the process in [*@3 dir] directory.&] [s2; All text output from process to [^https`:`/`/en`.wikipedia`.org`/wiki`/Standard`_streams^ s tandard streams] stdout and stderr is mixed and can be got using Read() method.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Start2`(const char`*`,const char`*`,const char`*`): [@(0.0.255) b ool]_[* Start2]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 cmdline], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 envptr]_`=_(([@(0.0.255) void]_`*)[@3 0]), [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 dir]_`=_(([@(0.0.255) void]_`*)[@3 0]))&] [s2; Starts a new process defined by the command line [*@3 cmdline], using [*@3 envptr] environment variables and running the process in [*@3 dir] directory.&] [s2; All text output from process to [^https`:`/`/en`.wikipedia`.org`/wiki`/Standard`_streams^ s tandard streams] stdout and stderr is separated and can be got using Read2() method.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Start`(const char`*`,const Upp`:`:Vector``&`,const char`*`,const char`*`): [@(0.0.255) b ool]_[* Start]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 cmd], [@(0.0.255) const]_[_^Upp`:`:Vector^ V ector]<[_^Upp`:`:String^ String]>`&_[*@3 arg], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 e nvptr]_`=_(([@(0.0.255) void]_`*)[@3 0]), [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 dir]_ `=_(([@(0.0.255) void]_`*)[@3 0]))&] [s2; Starts a new process defined by the command [*@3 cmd] with arguments list [*@3 arg], using [*@3 envptr] environment variables and running the process in [*@3 dir] directory.&] [s2; All text output from process to [^https`:`/`/en`.wikipedia`.org`/wiki`/Standard`_streams^ s tandard streams] stdout and stderr is mixed and can be got using Read() method.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Start2`(const char`*`,const Upp`:`:Vector``&`,const char`*`,const char`*`): [@(0.0.255) b ool]_[* Start2]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 cmd], [@(0.0.255) const]_[_^Upp`:`:Vector^ V ector]<[_^Upp`:`:String^ String]>`&_[*@3 arg], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 e nvptr]_`=_(([@(0.0.255) void]_`*)[@3 0]), [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 dir]_ `=_(([@(0.0.255) void]_`*)[@3 0]))&] [s2; Starts a new process defined by the command [*@3 cmd] with arguments list [*@3 arg], using [*@3 envptr] environment variables and running the process in [*@3 dir] directory.&] [s2; All text output from process to [^https`:`/`/en`.wikipedia`.org`/wiki`/Standard`_streams^ s tandard streams] stdout and stderr is separated and can be got using Read2() method.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Kill`(`): [@(0.0.255) void]_[* Kill]()&] [s2; Kills a process and all children processes and threads.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:IsRunning`(`): [@(0.0.255) bool]_[* IsRunning]()&] [s2; Returns true if process is still running.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Write`(Upp`:`:String`): [@(0.0.255) void]_[* Write]([_^Upp`:`:String^ S tring]_[*@3 s])&] [s2; Sends a text string [*@3 s] to process.&] [s2; In a command window, this text would be entered using the keyboard.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Read`(Upp`:`:String`&`): [@(0.0.255) bool]_[* Read]([_^Upp`:`:String^ S tring][@(0.0.255) `&]_[*@3 res])&] [s2; Reads text [*@3 res] from process. This process should have to be started using Start() function.&] [s2; In a command window, this text would be output to the screen.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Read2`(Upp`:`:String`&`,Upp`:`:String`&`): [@(0.0.255) boo l]_[* Read2]([_^Upp`:`:String^ String][@(0.0.255) `&]_[*@3 reso], [_^Upp`:`:String^ String][@(0.0.255) `& ]_[*@3 rese])&] [s2; Reads text [*@3 reso] from stdout and [*@3 rese] from stderr. This process should have to be started using Start2() function.&] [s2; In a command window, this text would be output to the screen.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:GetExitMessage`(`): [_^Upp`:`:String^ String]_[* GetExitMess age]()&] [s2; Returns the string defined by the operating system to describe the error code.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:GetExitCode`(`): [@(0.0.255) int]_[* GetExitCode]()&] [s2; Returns the process exit code.&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:Pause`(`): [@(0.0.255) void]_[* Pause]()&] [s2; Pauses/freezes/suspends process and all children processes and threads.&] [s2; If process is already paused, it resumes it.&] [s2; [*@(0.0.255)1 Only defined in Windows.]&] [s3; &] [s4; &] [s5;:Upp`:`:LocalProcess2`:`:IsPaused`(`): [@(0.0.255) bool]_[* IsPaused]()&] [s2; Returns true if process is paused.&] [s2; [*@(0.0.255)1 Only defined in Windows.]&] [s3;%- ]]