c# – 如何回显现有的CMD窗口

c# – 如何回显现有的CMD窗口,第1张

概述所以我正在使用的程序可以使用以下代码在CMD中使用命令行启动. string[] commandLines = Environment.GetCommandLineArgs(); 但是我希望能够在处理命令行之后将消息返回到CMD窗口.任何帮助,将不胜感激. 编辑:我将程序作为Windows应用程序运行,而不是控制台应用程序. 我最后使用RenniePet发布的答案作为对我的问题的评论来解决问题.我 所以我正在使用的程序可以使用以下代码在CMD中使用命令行启动.
string[] commandlines = Environment.GetCommandlineArgs();

但是我希望能够在处理命令行之后将消息返回到CMD窗口.任何帮助,将不胜感激.

编辑:我将程序作为windows应用程序运行,而不是控制台应用程序.

解决方法 我最后使用RennIEPet发布的答案作为对我的问题的评论来解决问题.我会在这里列出解决方案,以便任何试图重现它的人.
[System.Runtime.InteropServices.Dllimport("kernel32.dll")]private static extern bool AttachConsole(int DWProcessID);private const int ATTACH_PARENT_PROCESS = -1;StreamWriter _stdOutWriter;// this must be called early in the programpublic voID GUIConsoleWriter(){    // this needs to happen before attachconsole.    // If the output is not redirected we still get a valID stream but it doesn't appear to write anywhere    // I guess it probably does write somewhere,but Nowhere I can find out about    var stdout = Console.OpenStandardOutput();    _stdOutWriter = new StreamWriter(stdout);    _stdOutWriter.autoFlush = true;    AttachConsole(ATTACH_PARENT_PROCESS);}public voID Writeline(string line){    GUIConsoleWriter();    _stdOutWriter.Writeline(line);    Console.Writeline(line);}

将此代码添加到程序后,您只需使用例如以下内容开始返回行.

Writeline("\nExecuting commands.");
总结

以上是内存溢出为你收集整理的c# – 如何回显现有的CMD窗口全部内容,希望文章能够帮你解决c# – 如何回显现有的CMD窗口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存