Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > показать консоль


Автор: IGV 14.7.2009, 11:15
Задача следующая.
Имеется Windows Forms приложение, я использую telnet для общения с сетевым устройством.
Хотелось бы чтобы лог выводился в консоль и висел параллельно с окном приложения, чтобы туда можно было бы просто отравлять сообщения:
Код

Console.WriteLine("SENDING DATA ====> ");

Если так просто написать, то консоль не отображается.
Кто что посоветует?

Автор: Fortnox 14.7.2009, 21:30
Придется использовать API функции, конкретнее, AllocConsole.

Создаешь ссылку на метод AllocConsole() в kernel32.dll:

Код

[DllImport("kernel32.dll")]
public static extern bool AllocConsole();


Затем вызываешь данный метод. Будет тебе консоль. 
Теперь методы класса Console будут работать.

Автор: IGV 15.7.2009, 10:01
ооооо, то что надо!
Вот пример, может кому понадобится
Код

using System;
using System.Runtime.InteropServices;

namespace MyProgram
{
    static class Program
    {
        [DllImport("kernel32")]
        private static extern bool AllocConsole();

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {

              ....

              AllocConsole();
              Console.WriteLine("Console is working");
         }
     }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)