你把控制台嵌入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")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)