C# 从WinForms程序显示控制台窗口
我有一个WinForms程序。如果用户从命令行启动并传递无效参数,我如何在控制台窗口中显示错误信息?您可以使用console.WriteLine(消息)方法输出信息。您可以使用console.WriteLine(消息)方法输出信息方法。下面是一个示例,说明在将错误参数传递给winform应用程序时如何向命令行显示消息:C# 从WinForms程序显示控制台窗口,c#,winforms,C#,Winforms,我有一个WinForms程序。如果用户从命令行启动并传递无效参数,我如何在控制台窗口中显示错误信息?您可以使用console.WriteLine(消息)方法输出信息。您可以使用console.WriteLine(消息)方法输出信息方法。下面是一个示例,说明在将错误参数传递给winform应用程序时如何向命令行显示消息: static class Program { [DllImport("kernel32.dll")] static extern bool AttachConso
static class Program
{
[DllImport("kernel32.dll")]
static extern bool AttachConsole(int dwProcessId);
private const int ATTACH_PARENT_PROCESS = -1;
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//if parameter -window is passed - opens main form, else displays Bad params message
if(args[0] == "-window")
Application.Run(new main());
else
{
//Attach console process
AttachConsole(ATTACH_PARENT_PROCESS);
Console.WriteLine("Bad params");
}
}
}
参考:以下是在向winform应用程序传递错误参数时如何向命令行显示消息的示例:
static class Program
{
[DllImport("kernel32.dll")]
static extern bool AttachConsole(int dwProcessId);
private const int ATTACH_PARENT_PROCESS = -1;
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//if parameter -window is passed - opens main form, else displays Bad params message
if(args[0] == "-window")
Application.Run(new main());
else
{
//Attach console process
AttachConsole(ATTACH_PARENT_PROCESS);
Console.WriteLine("Bad params");
}
}
}
参考资料:您的WinForms应用程序可能会弹出一个显示错误的弹出窗口,如消息框 如果应用程序作为批处理文件的一部分以无人参与模式运行,则可以写入事件日志或应用程序创建的自定义日志文件 如果批处理命令将输出重定向到文件,则告诉您使用Console.WriteLine的其他答案也很有用,例如 myApp.exe>>errors.txt
这会将控制台附加到error.txt文件…您的WinForms应用程序可能会弹出一个显示错误的弹出窗口,如消息框 如果应用程序作为批处理文件的一部分以无人参与模式运行,则可以写入事件日志或应用程序创建的自定义日志文件 如果批处理命令将输出重定向到文件,则告诉您使用Console.WriteLine的其他答案也很有用,例如 myApp.exe>>errors.txt
这会将控制台附加到error.txt文件…在windows中,您可以指定要通过快捷方式传递给程序的参数。如果快捷方式参数不正确,将在何处显示错误消息?也就是说,为什么不在窗口中显示错误消息/忽略参数(或记录到事件查看器/日志文件)?在windows中,您可以指定要通过快捷方式传递给程序的参数。如果快捷方式参数不正确,将在何处显示错误消息?例如,为什么不在窗口中显示错误消息/忽略参数(或登录到事件查看器/日志文件)?但我的应用程序是Winform而不是Console。但我的应用程序是Winform而不是Console。