2016-07-06 11 views
-1

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

public class Logger // dll 
{ 
    public void Print() 
    { 
     // Open Console 
     // Standard output to console 
    } 
} 
+2

К сожалению, правильный ответ нет: HTTP: // StackOverflow .com/questions/671163/can-you-have-multiple-net-console-as-in-console-writeline Вы можете поместить свою «вторую консоль» в новую exe и запустить ее из главная консоль с использованием «Process.Start» –

ответ

0

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

Импорт:

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

Вызов:

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