windev调用.net库来获取cmd程序的输出
参考[C#]使用Process的StandardInput与StandardOutput写入读取控制台数据 - cnxy - 博客园 (cnblogs.com) 原理是windev反射调用dotnet 程序集
起因是我在试图用windev20中文版调用paddle。net的c# dll时发现windev20好像对调用这种c++dll的程序集会报错,在windev25中就不会,但是我不喜欢用英文版的windev(有那功夫我都去写vb。net了)
想到如果能获取cmd程序的输出结果,那什么语言写的程序都能和windev20中文版通信了 。看看文档,20中文版原生不支持命令行交互(24 25 正式版可以)
于是参考c#与cmd交互的代码
windev代码,首先要导入system程序集
// 概要:<运行cmd> // 语法: //[ <Result> = ] 运行cmd (<要运行的命令>) // // 参数: // 要运行的命令:<请在这里指出要运行的命令的角色> // Return Value: // UNICODE字符串型:cmd的结果 // // // 例如 : // 请在此处指出使用的一个示例。 // 过程运行cmd(要运行的命令) pro 是 Process() pro.StartInfo.FileName = "cmd.exe" pro.StartInfo.UseShellExecute = 假 pro.StartInfo.RedirectStandardOutput = 真 pro.StartInfo.RedirectStandardError = 真 pro.StartInfo.RedirectStandardInput = 真 pro.StartInfo.CreateNoWindow = 真 pro.Start() pro.StandardInput.WriteLine(要运行的命令) pro.StandardInput.WriteLine("exit") output是字符串型 = pro.StandardOutput.ReadToEnd(); pro.StandardInput.AutoFlush = 真 pro.WaitForExit(); pro.Close(); 发送回 output
演示视频 https://v.douyin.com/Fr24Eow/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具