我有一个有趣的任务:编写一个程序来捕获来自程序Redmon的输入。它基本上是一个将输出重定向到程序的虚拟打印机。
我安装了Redmon并创建了一个winforms应用程序来捕获输出。但我被困在这里了。我检查了程序接收到的内容,但在参数级别上什么都没有(主参数上的string[]为空)。
Redmon启动了我的程序,但随后它就停止了。我想我应该以某种方式读取它发送给程序的内容,但如何读取呢?
发布于 2009-04-15 11:19:02
我假设Redmon通过Console.In (如果它是基于字符的)或Console.OpenStandardInput (用于原始二进制流访问)传输到标准输入-在这种情况下,您必须从输入流读取。
作为从stdin读取内容的一个简单示例(它读取文本行,将每行内容颠倒过来):
static void Main() {
WriteReversedLines(Console.In);
}
static void WriteReversedLines(TextReader reader) {
string line;
while ((line = reader.ReadLine()) != null) {
char[] chars = line.ToCharArray();
Array.Reverse(chars);
Console.WriteLine(chars);
}
}显然,您需要以稍微不同的方式处理二进制数据,但在概念上是相似的。
https://stackoverflow.com/questions/751182
复制相似问题