Yan*_*nko 3 powershell powershell-2.0
我正在创建一个PowerShell二进制模块,它使用第三方库(DLL),它输出到控制台.所以,基本上我希望我的二进制模块输出自己的消息和该DLL的控制台输出.
可能吗?
所以,让我们说第三方API执行以下操作:
public static void SomeMethod() {
...
Console.Write("Extracting the file...");
...
}
Run Code Online (Sandbox Code Playgroud)
二进制模块调用它:
protected override void ProcessRecord() {
...
this.WriteObject("Hello!");
SomeClass.SomeMethod();
this.WriteObject("Goodbye!");
}
Run Code Online (Sandbox Code Playgroud)
我看到的输出是:
Hello!
Goodbye!
Run Code Online (Sandbox Code Playgroud)
我想看到的是:
Hello!
Extracting the file...
Goodbye!
Run Code Online (Sandbox Code Playgroud)
查看System.Console.SetOut()方法,将当前进程的stdout临时设置为可以读取的文本编写器.在调用DLL之后,您将使用Console.OpenStandardOutput()将stdout重置为默认值.查看SetOut主题页面上的示例.
归档时间: |
|
查看次数: |
686 次 |
最近记录: |