我正在开发主要是 Windows 窗体应用程序的迁移工具。我想要做的是提供将应用程序作为一种命令行实用程序运行的能力,其中可以传入参数并且迁移完全没有 GUI。这看起来很直接,我的应用程序的入口点如下所示:
[STAThread]
static void Main(string[] args)
{
if (args.Length == 0)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainWindow());
}
else
{
//Command Line Mode
Console.WriteLine("In Command Line Mode");
Console.ReadLine();
}
}
我遇到的问题是,当执行传递到 else block 时,文本不会在命令提示符下写回给用户,这是有问题的,因为我想在各种执行完成后在命令提示符下更新用户。我可以很容易地编写一个独立的控制台应用程序,但我希望提供一个单一的工具,允许针对给定场景使用不同类型的条目。我希望做的事情是否可能,如果可能,它是如何实现的?
谢谢!
最佳答案
这里有一个讨论这个的主题:http://social.msdn.microsoft.com/forums/en-US/Vsexpressvb/thread/875952fc-cd2c-4e74-9cf2-d38910bde613/
关键是调用AllocConsole
来自 kernel32.dll 的函数
关于c# - 将 Windows 应用程序作为命令行应用程序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258453/