社区
Delphi
帖子详情
[高分!]如何在Delphi中捕获其他程序的标准输出?
sunbn
2002-05-18 01:33:38
我想编个Delphi的程序实现捕获使用控制台的java/javac/jar ..的程序的输出。
1。首先如何使用我的程序来控制其他程序的执行?
2。其次,如何获得其它程序的标准输出?比如说javac xx.java的成功信息或是出错信息,都在我的程序的文本框中显示出来。
3。最后,Delphi中注册表相关的操作如何写?
我是Delphi新手,请大家最好有详细的代码例子!高分相送!谢谢!
...全文
115
12
打赏
收藏
[高分!]如何在Delphi中捕获其他程序的标准输出?
我想编个Delphi的程序实现捕获使用控制台的java/javac/jar ..的程序的输出。 1。首先如何使用我的程序来控制其他程序的执行? 2。其次,如何获得其它程序的标准输出?比如说javac xx.java的成功信息或是出错信息,都在我的程序的文本框中显示出来。 3。最后,Delphi中注册表相关的操作如何写? 我是Delphi新手,请大家最好有详细的代码例子!高分相送!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunbn
2002-05-22
打赏
举报
回复
Thank you all, westfly xjspa lx_king 结帖了。
以后有问题再问大家。
westfly
2002-05-19
打赏
举报
回复
//下面一些变量没具体去声明,不过结合参数提示应该很容易得知类型
//保存stdout
hSaveStdout := GetStdHandle(STD_OUTPUT_HANDLE);
//创建一个匿名管道(将子进程的Output重定向到父进程的Input里)
CreatePipe(ParentInput, ChildOutput, @SecurityAttributes, SizeOf(SecurityAttributes));
//将标准输出替换为ChildOutput
SetStdHandle(STD_OUTPUT_HANDLE, ChildOutput);
//创建一个不可被继承的Input副本
hProcess := GetCurrentProcess;
DuplicateHandle(hProcess, ParentInput, FProcess, @DuplicateInput, 0, False, DUPLICATE_SAME_ACCESS);
//将原来的Input关闭
CloseHandle(ParentInput);
//创建一个子进程(例如masm.exe xxx),将其中的继承属性设为真
CreateProcess(...);
//恢复stdout
SetStdHandle(STD_OUTPUT_HANDLE, hSaveStdout);
CloseHandle(ChildOutput);
//从管道中(即ParentInput的副本)读取数据
ReadFile(DuplicateInput, Buffer, SizeOf(Buffer), TransSize, nil);
caoqizi
2002-05-19
打赏
举报
回复
关注!
sunbn
2002-05-19
打赏
举报
回复
我自己找了一个:
http://community.borland.com/article/0,1410,10387,00.html
谁有Delphi的例子呢??
谁来解释解释CreatePipe的用法!
lx_king
2002-05-18
打赏
举报
回复
CreatePipe
wisenowa
2002-05-18
打赏
举报
回复
关注westfly(西翔)
sunbn
2002-05-18
打赏
举报
回复
up
sunbn
2002-05-18
打赏
举报
回复
:westfly 能详细说说吗?
westfly
2002-05-18
打赏
举报
回复
创建一个命名管道来取代stdout试试。
sunbn
2002-05-18
打赏
举报
回复
接受xjspa的第三点
接受lx_king的第一点
另外我不想重定向到文本,这个我会。我要直接能够接收别的程序的输出信息!
另外上面三点问题有详细源码的给高分!!
lx_king
2002-05-18
打赏
举报
回复
1.winexec() shellexecute()
2。重定向到一个临时文本文件中 然后 打开文本文件 就可以了
3。楼上说的没错
xjspa
2002-05-18
打赏
举报
回复
1.引用别的程序的units
2.用messagebox(),使用的系统资源比较少
3.reg:Tregister
reg:=Tregister.create(self);
reg:=....
open key()
....
closekey()
.....
基于超局部模型与自抗扰ESO观测器的无模型预测电流控制改进策略研究(Simulink仿真实现)
内容概要:本文围绕“基于超局部模型与自抗扰ESO观测器的无模型预测电流控制改进策略”展开研究,提出一种结合超局部模型(ULM)与扩张状态观测器(ESO)的无模型预测电流控制(MFPCC)改进方法,旨在提升永磁同步电机(PMSM)电流环的动态响应性能与抗干扰能力。该策略利用超局部模型对系统行为进行局部逼近,避免依赖精确数学模型,同时引入自抗扰控制
中
的ESO实时观测并补偿系统内外部扰动,有效抑制参数摄动、负载变化及模型不确定性带来的影响。研究通过Simulink搭建完整的控制系统仿真模型,对传统MFPCC与所提改进策略进行对比分析,验证了新方法在电流跟踪精度、响应速度和鲁棒性方面的优越性。; 适合人群:具备电机控制、现代控制理论及Simulink仿真基础的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高性能电机驱动系统
中
电流环控制器的设计与优化;②为无模型控制与自抗扰控制的融合应用提供技术参考;③支撑相关课题的仿真验证、论文复现与创新方法研究。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制结构与参数整定过程,重点关注ESO的观测性能与扰动补偿机制,并可通过改变负载条件、参数偏差等工况进行鲁棒性测试,进一步掌握该改进策略的核心优势与适用边界。
Delphi
5,943
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章