有没有想过如何从Windows应用程序写出到单独的控制台窗口,而不是写入日志文件?您可能需要这么做的原因很多 - 主要与调试有关。如何从Windows应用程序写入控制台窗口?
3
A
回答
12
要以编程方式执行此操作,您可以从您自己的代码中PInvoke相应的Win32控制台功能(例如,AllocConsole
创建您自己的或AttachConsole
以使用其他进程的功能)。这样你就可以最好地控制实际发生的事情。
如果你是有一个控制台窗口打开旁边你对你的流程的全生命周期的其他UI OK,你可以简单地从Visual Studio中更改项目属性,然后选择“控制台应用程序”,就这么简单:
+3
它的疯狂是如何微软变得如此复杂在Unix世界如此纯粹和简单。 – 2014-02-24 09:04:11
2
您可以使用kernel32.dll控制Windows窗体应用程序的输出。有关详细信息,请参阅this article。
3
如果你有那么控制台应用程序做
System.Console.WriteLine("What ever you want");
如果您有窗体应用程序,你需要首先创建控制台:
http://www.csharp411.com/console-output-from-winforms-application/
3
这里是你如何做到这一点: 预定义的API是kernel32.dll中,让你写一个控制台中可用。 下面显示了该功能的示例用法。
private void button1_Click(object sender, EventArgs e)
{
new Thread(new ThreadStart(delegate()
{
AllocConsole();
for (uint i = 0; i < 1000000; ++i)
{
Console.WriteLine("Hello " + i);
}
FreeConsole();
})).Start();
}
您需要从kernel32.dll导入AllocConsole和FreeConsole API。
[DllImport("kernel32.dll")]
public static extern bool AllocConsole();
[DllImport("kernel32.dll")]
public static extern bool FreeConsole();
如果您只想在调试时使用它,您总是可以使其成为有条件的。
private void button1_Click(object sender, EventArgs e)
{
new Thread(new ThreadStart(delegate()
{
AllocateConsole();
for (uint i = 0; i < 1000000; ++i)
{
Console.WriteLine("Hello " + i);
}
DeallocateConsole();
})).Start();
}
[Conditional("DEBUG")]
private void AllocateConsole()
{
AllocConsole();
}
[Conditional("DEBUG")]
private void DeallocateConsole()
{
FreeConsole();
}
相关问题
- 1. 如何从Windows窗体应用程序在C#中关闭控制台窗口?
- 2. 从Windows窗体应用程序C控制台应用程序#
- 3. Windows CE平台上的“控制台应用程序窗口”
- 4. 隐藏Windows窗体应用程序中的控制台窗口
- 5. 如何从控制台应用程序打开WPF窗口
- 6. 从控制台窗口输入到Winform应用程序
- 7. 如何从非控制台应用程序项目写入控制台
- 8. 如何从F#控制台应用程序写入appSettings?
- 9. 与控制台应用程序Windows窗体应用程序
- 10. 如何打开Visual C++控制台应用程序的新控制台窗口?
- 11. 如何在Windows上隐藏Go程序的控制台窗口
- 12. 如何打开程序中的空控制台窗口(Windows)
- 13. 如何显示/隐藏控制台窗口应用程序?
- 14. 如何隐藏我的应用程序的控制台窗口?
- 15. 将调试控制台窗口放入您的应用程序
- 16. 如何编写C++控制台窗口程序
- 17. 如何连接控制台应用程序和Windows窗体应用程序C#
- 18. 如何将控制台应用程序更改为Windows窗体应用程序?
- 19. Windows应用程序打开控制台并在其中写入
- 20. 如何在动态编译Windows应用程序时隐藏控制台窗口?
- 21. 从控制台应用程序到.NET Windows窗体
- 22. 从Windows窗体运行控制台应用程序
- 23. 从控制台应用程序到Windows窗体GUI问题
- 24. 从窗口形式运行控制台应用程序
- 25. 从控制台应用程序创建单独的窗口
- 26. 如何从控制台应用程序
- 27. 从控制台应用程序切换到Windows应用程序
- 28. 从Windows XAML应用程序运行控制台应用程序
- 29. 产生窗体(Windows窗体)的控制台应用程序?
- 30. 显示在Windows窗体应用程序中的控制台窗口
您可以指定“Windows应用程序”的含义吗? Windows窗体应用程序,还是其他? – jadarnel27 2012-03-30 12:38:11
将您的项目类型从WinForms更改为控制台应用程序。现在你们都有了。 Forms + Console – 2012-03-30 12:40:56
不是,当我只能输出到GUI窗体上的文本框或备忘录组件时。 – 2012-03-30 12:41:08