|ZYCWPF| 在我做WPF程序的时候,如何让程序运行后,还会有一个控制台程序运行显示我的Console.Write的数据呢?

.Net技术 码拜 10年前 (2015-05-10) 1090次浏览 0个评论
 

有这个功能的话,在调试中和给客户运行后,他说有问题的时候,我就可以在配置文件中让这个窗口显示出来
这样容易帮找出问题
谢谢

20分
控制台替换成richtext不一样,非要Console.Write,退一步海阔天空阿

非要就出2个程序,一个你的程序,一个控制台程序,管你什么方法建立exe之间的通信,消息发给控制台,控制台打印出来

40分
在项目属性中把Output type改成 Console Application就可以了。
引用 2 楼 jshi123 的回复:

在项目属性中把Output type改成 Console Application就可以了。

我的是WPF程序
所以不能改为:Console Application

其实我想要的是在程序在给用户的时候,他说有问题后,我想要直观的查看到Console.Write的数据
谢谢

http://stackoverflow.com/questions/3284500/embed-a-console-window-inside-a-wpf-window
引用 3 楼 javamy037 的回复:

我的是WPF程序
所以不能改为:Console Application

其实我想要的是在程序在给用户的时候,他说有问题后,我想要直观的查看到Console.Write的数据
谢谢

wpf也可以改啊,就是运行时多出一个console窗口而已。
当然正规的记录日志的手段应该是用log4net之类的方式。

哈哈。。真的有,也能显示我的Console的输出!
那么如何用一个命令来显示隐藏掉这个窗口?
也就是一开始是没有的,然后我执行一个命令这个窗口就出来了
谢谢
这要用pinvoke了:

	[DllImport("kernel32.dll")]
	static extern IntPtr GetConsoleWindow();

	[DllImport("user32.dll")]
	static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

	const int SW_HIDE = 0;
	const int SW_SHOW = 5;

	// 显示控制台
	private void btnShow_Click_1(object sender, RoutedEventArgs e)
	{
		var handle = GetConsoleWindow();
		ShowWindow(handle, SW_SHOW);
	}

	// 隐藏控制台
	private void btnHide_Click_1(object sender, RoutedEventArgs e)
	{
		var handle = GetConsoleWindow();
		ShowWindow(handle, SW_HIDE);
	}
控制台程序开始执行时,窗口总是显示的。
如果开始运行的时候不想显示控制台,你还是改回Windows Application,用4楼的方法吧。
20分
非要 Console 么?用个 log4net 然后修改输入 log 的级别不是很好。

比如 Level=Debug 输出 Debug Log。相应的:FATAL/ERROR/WARN/DEBUG/INFO

20分
引用 9 楼 fangxinggood 的回复:

非要 Console 么?用个 log4net 然后修改输入 log 的级别不是很好。

比如 Level=Debug 输出 Debug Log。相应的:FATAL/ERROR/WARN/DEBUG/INFO

当然,最优雅的设计就是将debug信息发布为一个selfhost的服务,然后再组合不同的debugger来具体控制输出到哪里。颇有种操作系统交叉调试的韵味,哈哈。

引用 10 楼 caozhy 的回复:

引用 9 楼 fangxinggood 的回复:非要 Console 么?用个 log4net 然后修改输入 log 的级别不是很好。

比如 Level=Debug 输出 Debug Log。相应的:FATAL/ERROR/WARN/DEBUG/INFO

当然,最优雅的设计就是将debug信息发布为一个selfhost的服务,然后再组合不同的debugger来……

启动一个Console,重定向log输出应该不是难事。

引用 2 楼 jshi123 的回复:

在项目属性中把Output type改成 Console Application就可以了。

只想说,数他妈这个有用,简洁明了有效果~


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明|ZYCWPF| 在我做WPF程序的时候,如何让程序运行后,还会有一个控制台程序运行显示我的Console.Write的数据呢?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!