2016-07-06 29 views
-1

Es gibt ein C# DLL-Projekt. Es hat eine Klasse und eine öffentliche Methode Print(). Gibt es eine Möglichkeit, Konsole von dieser DLL zu öffnen, um Text anzuzeigen? DLL wird von Drittanbieterprogrammen verwendet.Öffnen Sie die Konsole von C# DLL und drucken Sie die Ausgabe

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

Sorry, die richtige Antwort ist nein: http: // Stackoverflow .com/questions/671163/can-you-have-multiple-net-Konsolen-as-in-console-writeline Sie können Ihre "zweite Konsole" auf eine neue exe setzen und von dort starten Hauptkonsole mit "Process.Start" –

Antwort

0

Ich habe einfache und unkomplizierte Lösung gefunden here. Konsole zugewiesen mit AllocConsole() Methode aufgerufen von kernel32:

Import:

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

Call:

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