показать окно консоли из программы WinForms - PullRequest
1 голос
/ 05 января 2012

У меня есть программа WinForms.Если пользователь запускает его из командной строки и передает неверный параметр, как я могу отобразить информацию об ошибке в окне консоли?

Ответы [ 3 ]

4 голосов
/ 05 января 2012

Вот пример того, как вывести сообщение в командную строку, если неверный параметр передан в приложение 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/

1 голос
/ 05 января 2012

Вы можете вывести информацию, используя метод Console.WriteLine (message).

0 голосов
/ 06 января 2012

Ваше приложение WinForms может вызвать всплывающее окно, похожее на окно сообщения, в котором отображается ошибка.

Если приложение работает в автоматическом режиме как часть пакетного файла, вы можете записать его в журнал событий.или в пользовательский файл журнала, созданный приложением.

Другие ответы, которые говорят вам использовать Console.WriteLine, также хороши, если ваша пакетная команда перенаправляет вывод в файл, например ...

myApp.exe >> errors.txt

добавляет консоль к файлу error.txt ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...