我正在使用VS13(Windows应用程序非控制台应用程序)在C#中编写嵌入式Powershell主机。我可以调用powershell命令。我遇到的问题是,当invoke函数处理ping,netstat等控制台命令时,它会触发要创建的conhost.exe实例。到目前为止,根据我的研究,这是Windows 7及更高版本的正常行为,但是当conhost启动时,它会短暂地在屏幕上闪烁一个控制台。

有没有一种方法可以启动conhost,而无需首先刷新控制台窗口?请记住,我正在处理Powershell管道中的用户输入,因此对每个命令进行测试并启动新进程可能不切实际。

最佳答案

自问这个问题已经有一段时间了,所以我想分享我提出的答案。基本上,由于我的嵌入式主机位于仅在后台运行的应用程序中,因此在处理“本地命令”时无法阻止conhost在屏幕上闪烁。这就是Windows工作的方式。如果我的主机连接到GUI,那么我认为可能已经存在一种重定向输出的方法,但是到目前为止,对于我的用例,我无法抑制conhost。

关于c# - 在不闪烁控制台窗口的情况下启动conhost.exe,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30337971/

10-10 07:21