社区
Delphi
帖子详情
[高分!]如何在Delphi中捕获其他程序的标准输出?
sunbn
2002-05-18 01:33:38
我想编个Delphi的程序实现捕获使用控制台的java/javac/jar ..的程序的输出。
1。首先如何使用我的程序来控制其他程序的执行?
2。其次,如何获得其它程序的标准输出?比如说javac xx.java的成功信息或是出错信息,都在我的程序的文本框中显示出来。
3。最后,Delphi中注册表相关的操作如何写?
我是Delphi新手,请大家最好有详细的代码例子!高分相送!谢谢!
...全文
92
12
打赏
收藏
[高分!]如何在Delphi中捕获其他程序的标准输出?
我想编个Delphi的程序实现捕获使用控制台的java/javac/jar ..的程序的输出。 1。首先如何使用我的程序来控制其他程序的执行? 2。其次,如何获得其它程序的标准输出?比如说javac xx.java的成功信息或是出错信息,都在我的程序的文本框中显示出来。 3。最后,Delphi中注册表相关的操作如何写? 我是Delphi新手,请大家最好有详细的代码例子!高分相送!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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()
.....
在
Delphi
中
利用VFW和摄像头实现视频捕捉
在
Delphi
中
利用VFW技术和摄像头实现视频捕捉
delphi
屏幕截图例子, 简单好用, 速度快
delphi
屏幕截图例子, 简单好用, 速度快,
delphi
7下编译通过
Delphi
超强截图工具(支持区域、滚屏等截图)
Delphi
超强截图工具(支持区域、滚屏等截图,支持
DELPHI
7.欢迎大家下载。
VFW.rar_
Delphi
VfW_vfw_vfw
DELPHI
_视频采集
delphi
下视频采集的SDK 及视频采集示例等待
delphi
的transpanel透明组件
delphi
的transpanel透明组件,已在
DELPHI
7下安装测试通过,其它未测试,使用非常稳定好用
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章