Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Откройте консоль из С# DLL и распечатайте вывод, используя ее

Автор вопроса: andreikashinОтветов: 1

Есть проект C# DLL. Он имеет один класс и один общедоступный метод Print(). Есть ли способ открыть консоль из этой DLL для отображения текста? DLL используется сторонней программой.

public class Logger // dll
{
    public void Print()
    {
        // Open Console
        // Standard output to console
    }
}
  • Извините, правильный ответ - нет: stackoverflow.com/questions/671163/. Вы можете поместить вторую консоль в новый исполняемый файл и запустить ее из основной консоли с помощью Process.Start 06.07.2016

loggingconsoledlldllimport

Ответы

Ответ 1 · рейтинг 1 · andreikashin

Я нашел простое и понятное решение здесь. Консоль выделяется с помощью метода AllocConsole(), вызываемого из kernel32:

Импорт:

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

Позвонить:

static void Main(string[] args)
{
    //... magic happens here
    AllocConsole();
    Console.WriteLine("Hello!");
    //... continue magic
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы