等待Process.StandardOutput的提示

时间:2012-10-25 17:08:51

标签: c# .net process system.diagnostics

  

可能重复:
  System.Diagnostics.Process.Start a process against a different domain

有关我想要做的事情的背景,您可能需要查看:System.Diagnostics.Process.Start a process against a different domain

基本上即使它看起来像ProcessStartInfo让你可以运行另一个域帐户,但它不会,至少不在我的场景中。所以我的下一次尝试是以编程方式模仿以下批处理命令,然后只需读取/写入控制台以提供密码(如果从cmd行运行以下命令,它将提示“输入SOMEDOMAIN \ SomeUserName的密码”,它等待您的输入,当您输入密码时,它会启动SSMS作为正确的域帐户,一切正常

RUNAS /user:SOMEDOMAIN\SomeUserName /netonly "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"

但由于某些原因我无法理解,当我从C#运行完全相同的命令时,它永远不会等待密码输入,只要你提交上面的命令就会启动SSMS,因为密码从未被捕获,所以它无法尝试连接到数据库。我尝试运行上面的命令以及首先运行cmd.exe,然后将命令写入进程输入流但无济于事。如何让它接受我的输入然后在我读取输出并用密码回复时等待?我觉得这令人费解

0 个答案:

没有答案