控制台嵌入到winform显示日志信息

控制台嵌入到winform显示日志信息,第1张

你把控制台嵌入winform 需要再开辟一个线程,其实也很麻烦。可以换种方式,尝试这种:

在winform的一个error文件夹下创建.txt的文本文件 比如error.txt ..当需要加入日志时,向error.txt写入日志信息。辅助函数

public void WriteLog(string logInfo) 

        {

            FileStream fs = new FileStream("error\\error.txt", FileMode.Append, FileAccess.Write)

            StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("gb2312"))

            sw.Write(logInfo)

            sw.Close()

            fs.Close()

        }

肯定可以的,C#嵌入其他程序主要用SetParent这个函数,关键是要找到句柄,你可以用CreateProcess来创建一个新的子进程打开控制台,然后找到句柄后嵌入你的主进程就可以了。

参考下:

http://www.cnblogs.com/icyJ/archive/2013/07/26/SetParent.html

可以的,新建一个cmd.exe的进程就可以了,表现为d出一个命令行窗口。在这个进程中启动一个Console应用程序,来显示你的内容即可。

启动cmd进程,并在控制台中启动C:\xxxx\xxxx.exe的代码:

Process p = new Process()

p.Start("cmd.exe")

p.StandardInput.WriteLine(@"C:\xxxx\xxxx.exe")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7983384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存