![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | inconsistent behavior In powershell console, I typed "calc", then "windows caculator" appear, then powershell immediately returned and I could type other commands, though "windows caculator" are still running. But if I wrote the following code in VS, I must manually close "windows caculator" first, the Main function return. So, why the behaviors are inconsistent? using .... namespace Host3 { class Program { static void Test2() { Runspace runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); Pipeline pipeline = runspace.CreatePipeline("calc"); pipeline.Invoke(); runspace.Close(); } static void Main(string[] args) { Test2(); } } } |
My System Specs![]() |
| | #2 (permalink) |
| | Re: inconsistent behavior On Aug 19, 11:40*pm, rmq <zhangf...@xxxxxx> wrote: Quote: > In powershell console, I typed "calc", then "windows caculator" > appear, then powershell immediately returned and I could type other > commands, though "windows caculator" are still running. > > But if I wrote the following code in VS, I must manually close > "windows caculator" first, the Main function return. > > So, why the behaviors are inconsistent? > > using .... > namespace Host3 { > * * class Program { > * * * * static void Test2() { > * * * * * * Runspace runspace = RunspaceFactory.CreateRunspace(); > * * * * * * runspace.Open(); > * * * * * * Pipeline pipeline = runspace.CreatePipeline("calc"); > * * * * * * pipeline.Invoke(); > * * * * * * runspace.Close(); > * * * * } > * * * * static void Main(string[] args) { > * * * * * * Test2(); > * * * * } > * * } > > } you're creating a pipeline that is going to keep waiting for output from the command, because rather than just spawning a process you're holding open the pipeline for it. The same thing happens if you type this in at the prompt: calc | select * Your command won't return until calc.exe exits because the pipeline is waiting for objects. |
My System Specs![]() |
| | #3 (permalink) |
| | Re: inconsistent behavior On Aug 20, 4:38*pm, tojo2000 <tojo2...@xxxxxx> wrote: Quote: > On Aug 19, 11:40*pm, rmq <zhangf...@xxxxxx> wrote: > > > Quote: > > In powershell console, I typed "calc", then "windows caculator" > > appear, then powershell immediately returned and I could type other > > commands, though "windows caculator" are still running. Quote: > > But if I wrote the following code in VS, I must manually close > > "windows caculator" first, the Main function return. Quote: > > So, why the behaviors are inconsistent? Quote: > > using .... > > namespace Host3 { > > * * class Program { > > * * * * static void Test2() { > > * * * * * * Runspace runspace = RunspaceFactory.CreateRunspace(); > > * * * * * * runspace.Open(); > > * * * * * * Pipeline pipeline = runspace.CreatePipeline("calc"); > > * * * * * * pipeline.Invoke(); > > * * * * * * runspace.Close(); > > * * * * } > > * * * * static void Main(string[] args) { > > * * * * * * Test2(); > > * * * * } > > * * } Quote: > > } > My C# foo isn't terribly strong, but I believe the problem is that > you're creating a pipeline that is going to keep waiting for output > from the command, because rather than just spawning a process you're > holding open the pipeline for it. > > The same thing happens if *you type this in at the prompt: > > calc | select * > > Your command won't return until calc.exe exits because the pipeline is > waiting for objects. value, so host return to prompt quickly. but do you know how to config and make the host must wait "calc" return? thx |
My System Specs![]() |
| | #4 (permalink) |
| | Re: inconsistent behavior On Aug 21, 1:25*am, rmq <zhangf...@xxxxxx> wrote: Quote: > On Aug 20, 4:38*pm, tojo2000 <tojo2...@xxxxxx> wrote: > > > Quote: > > On Aug 19, 11:40*pm, rmq <zhangf...@xxxxxx> wrote: Quote: Quote: > > > In powershell console, I typed "calc", then "windows caculator" > > > appear, then powershell immediately returned and I could type other > > > commands, though "windows caculator" are still running. Quote: Quote: > > > But if I wrote the following code in VS, I must manually close > > > "windows caculator" first, the Main function return. Quote: Quote: > > > So, why the behaviors are inconsistent? Quote: Quote: > > > using .... > > > namespace Host3 { > > > * * class Program { > > > * * * * static void Test2() { > > > * * * * * * Runspace runspace = RunspaceFactory.CreateRunspace(); > > > * * * * * * runspace.Open(); > > > * * * * * * Pipeline pipeline = runspace.CreatePipeline("calc"); > > > * * * * * * pipeline.Invoke(); > > > * * * * * * runspace.Close(); > > > * * * * } > > > * * * * static void Main(string[] args) { > > > * * * * * * Test2(); > > > * * * * } > > > * * } Quote: Quote: > > > } Quote: > > My C# foo isn't terribly strong, but I believe the problem is that > > you're creating a pipeline that is going to keep waiting for output > > from the command, because rather than just spawning a process you're > > holding open the pipeline for it. Quote: > > The same thing happens if *you type this in at the prompt: Quote: > > calc | select * Quote: > > Your command won't return until calc.exe exits because the pipeline is > > waiting for objects. > I agree with you , because the host application does not need a return > value, so host return to prompt quickly. > but do you know how to config and make the host must wait "calc" > return? > thx http://www.c-sharpcorner.com/UploadF...mandsInCS.aspx |
My System Specs![]() |
| | #5 (permalink) |
| | Re: inconsistent behavior On Aug 21, 5:13*pm, tojo2000 <tojo2...@xxxxxx> wrote: Quote: > On Aug 21, 1:25*am, rmq <zhangf...@xxxxxx> wrote: > > > Quote: > > On Aug 20, 4:38*pm, tojo2000 <tojo2...@xxxxxx> wrote: Quote: Quote: > > > On Aug 19, 11:40*pm, rmq <zhangf...@xxxxxx> wrote: Quote: Quote: > > > > In powershell console, I typed "calc", then "windows caculator" > > > > appear, then powershell immediately returned and I could type other > > > > commands, though "windows caculator" are still running. Quote: Quote: > > > > But if I wrote the following code in VS, I must manually close > > > > "windows caculator" first, the Main function return. Quote: Quote: > > > > So, why the behaviors are inconsistent? Quote: Quote: > > > > using .... > > > > namespace Host3 { > > > > * * class Program { > > > > * * * * static void Test2() { > > > > * * * * * * Runspace runspace = RunspaceFactory.CreateRunspace(); > > > > * * * * * * runspace.Open(); > > > > * * * * * * Pipeline pipeline = runspace.CreatePipeline("calc"); > > > > * * * * * * pipeline.Invoke(); > > > > * * * * * * runspace.Close(); > > > > * * * * } > > > > * * * * static void Main(string[] args) { > > > > * * * * * * Test2(); > > > > * * * * } > > > > * * } Quote: Quote: > > > > } Quote: Quote: > > > My C# foo isn't terribly strong, but I believe the problem is that > > > you're creating a pipeline that is going to keep waiting for output > > > from the command, because rather than just spawning a process you're > > > holding open the pipeline for it. Quote: Quote: > > > The same thing happens if *you type this in at the prompt: Quote: Quote: > > > calc | select * Quote: Quote: > > > Your command won't return until calc.exe exits because the pipeline is > > > waiting for objects. Quote: > > I agree with you , because the host application does not need a return > > value, so host return to prompt quickly. > > but do you know how to config and make the host must wait "calc" > > return? > > thx > Like I said, my C# skills aren't the greatest, but does this help?http://www.c-sharpcorner.com/UploadF...llCommandsInCS... |
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
Inconsistent Picture Preview Behavior | General Discussion | |||
| Re: Inconsistent behavior with color rules | Live Mail | |||
| Baffled by Inconsistent and Irrational Vista Backup Behavior | Vista performance & maintenance | |||
| ADSI Inconsistent behavior | PowerShell | |||
| Smart-quote behavior: Is current behavior ideal? | PowerShell | |||