[英]WPF display command line options
我需要在WPF项目中添加命令行选项,这是我目前可以进行的工作,但是效果不是很好。 我需要一个更专业的解决方案。
要编写开始和停止代码,请执行以下操作:
AttachConsole(-1);
Console.WriteLine("Start");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("Stop");
产生输出:
C:\Work>TestWriteCLI.exe -h
C:\Work>Start
Stop
这有几处错误:
C:\\Work>
创建了一个新行,我不想这样做,我希望它直接在控制台上打印“开始”。 这是我想要实现的输出:
C:\Work>TestWriteCLI.exe -h
Start
Stop
C:\Work>
这里的其他类似问题也提供了我不喜欢的解决方案,例如,我不想创建新的控制台窗口。 我有一个控制台,我希望它运行该控制台,而不打开新控制台,先显示东西,然后关闭它,然后再回到我的原始控制台。
我也不想将我的项目更改为命令行项目。
我的项目是WPF项目,它应该以命令行项目可以使用的正常方式处理命令行选项,并尽可能使用WPF方法。
非常感谢您的帮助。
非常感谢
您应该使用Kernel32 assembly
FreeConsole()
AllocConsole()
并使用FreeConsole()
关闭控制台。
课堂上的导入方法
[DllImport("Kernel32")]
public static extern void AllocConsole();
[DllImport("Kernel32")]
public static extern void FreeConsole();
并以这种方式使用它们-
AllocConsole();
Console.WriteLine("Start");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("Stop");
FreeConsole();
对于第一个问题,只需使用带有/W
或/Wait
作为选项的start
命令运行可执行文件,如此处所示 :
C:\Work>start /W TestWriteCLI.exe -h
对于第二个问题,在代码末尾添加以下行:
System.Windows.Forms.SendKeys.SendWait("{ENTER}");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.