2012-01-05 30 views
1

我有一个WinForms程序。如果用户从命令行启动并传递了无效参数,我如何在控制台窗口中显示错误信息?从WinForms程序显示控制台窗口

+2

在Windows中,您可以指定参数以通过快捷方式传递给程序。如果快捷参数不正确,错误消息将显示在哪里?即你为什么不在你的窗口中显示错误信息/忽略参数(或者登录到事件查看器/日志文件)? – Default 2012-01-05 10:05:06

回答

1

您可以使用Console.WriteLine(message)方法输出信息。

+0

但我的应用程序是Winform而不是控制台。 – 2012-01-05 11:26:00

4

这里例如如何在错误的参数传递给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"); 
     } 
    } 
} 

参考:http://www.csharp411.com/console-output-from-winforms-application/

0

你的WinForms应用程序可能会提出一个弹出,像一个消息框,显示错误。

如果应用程序作为批处理文件的一部分以无人参与模式运行,则可以写入事件日志或由应用程序创建的自定义日志文件。

其他的答案,告诉你使用Console.WriteLine也是,如果你的批处理命令重定向输出到一个文件,如大...

MYAPP.EXE >> ERRORS.TXT

这将控制台附加到error.txt文件中...

相关问题