2016-07-06 117 views
-1

有一个C#DLL项目。它有一个类和一个公共方法Print()。 是否有任何可能的方法来从此DLL打开控制台以显示文本? DLL由第三方程序使用。从C#DLL打开控制台并使用它打印输出

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

对不起,正确的答案是否定的:HTTP://计算器.com/questions/671163/can-you-have-multiple-net-console-as-in-console-writeline你可以将你的“第二个控制台”放到一个新的exe文件中,然后从主控制台使用“Process.Start” – 2016-07-06 09:13:46

回答

0

我发现简单直接的解决方案here

导入:控制台使用AllocConsole()方法从KERNEL32调用分配

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

电话:

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