【问题标题】:Redmon redirect to a .NET Windows.Forms applicationRedmon 重定向到 .NET Windows.Forms 应用程序
【发布时间】:2009-04-15 11:05:44
【问题描述】:

我有一个有趣的任务:编写一个程序来捕获来自名为Redmon 的程序的输入。它基本上是一个将输出重定向到程序的虚拟打印机。

我安装了 Redmon 并创建了一个 winforms 应用程序来捕获输出。但我被困在这里。我检查了我的程序接收到什么,它在参数级别上什么都没有(主参数上的 string[] 是空的)。

Redmon 启动我的程序,但随后停止。我想我应该以某种方式阅读它发送给程序的内容,但是如何?

【问题讨论】:

  • 你能展示一下Redmon的配置和一些代码吗?
  • 在配置中一切都是标准的:将端口重定向到程序:mytest.exe,并检查 runasuser。但 Marc 解决了,谢谢。

标签: .net winforms redmon


【解决方案1】:

我会假设 Redmon 流到标准输入 - 在这种情况下,您必须从输入流中读取 - 通过 Console.In(如果它是基于字符的)或 Console.OpenStandardInput(用于原始二进制流访问)。

作为从标准输入读取内容的一个简单示例(它读取文本行,每行反转):

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);
    }
}

显然,您需要对二进制数据进行稍微不同的处理,但在概念上是相似的。

【讨论】:

  • 我可以在 Windows.Forms 应用程序中使用 Console.In 吗?我试试看。
  • 实际上,winform 和控制台应用程序之间几乎没有区别......所以是的,您仍然应该能够从标准输入读取。
  • 谢谢。我正在寻找从 winforms 中的标准输入读取,但没有找到任何东西。这就是原因。 :-)
猜你喜欢
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多