在C++ Builder中调用外部程序
现在我在做一个程序,需要调用一个外部程序(Dos程序)。我用ShellExecute调用,但是有一个缺点就是我得不到程序的执行结果输出,而我需要这个信息。
请问有什么办法得到执行结果字符串吗?有帮助这都给分,谢谢!
问题点数:50、回复次数:10Top
1 楼jbz(虚心求教)回复于 2001-12-28 09:27:57 得分 10
提供一个比较笨的方法:
(如果程序对速度要求不太高的话可以这样)
将外部程序的执行结果保存在一个文件中(建议为.ini文件)
主程序读取这个文件中的数据就可以了。Top
2 楼knight12(12Knight)回复于 2001-12-28 09:34:01 得分 0
那个DOS程序是你自己编的吗?Top
3 楼yangliu(探索软件http://www.tansoo.cn)回复于 2001-12-28 10:12:52 得分 30
看一下CBuilder5\Examples\WinTools这个例子Top
4 楼Tone_zrt(Tone)回复于 2001-12-28 10:49:19 得分 0
这个程序当然不是我编写的。
jbz():你能说得清楚一些吗?Top
5 楼knight12(12Knight)回复于 2001-12-28 10:53:53 得分 0
如果不是你写的,JBZ的方法就不行了
DOS程序怎么将结果写到文件啊???Top
6 楼ITCOM(内存皇)回复于 2001-12-28 11:16:07 得分 0
重定向Top
7 楼VSaber(☆浪人☆)回复于 2001-12-28 12:13:18 得分 0
WinExecTop
8 楼nickgg(匿名哥哥)回复于 2001-12-28 12:58:16 得分 10
WinExec("xxx.exe >>xxx.txt");
Open xxx.txtTop
9 楼Tone_zrt(Tone)回复于 2001-12-28 13:20:49 得分 0
诸位,如果我不用重定向到文件中该如何做。比如直接在我的程序中将结果赋给一个字符串。有办法吗?Top
10 楼Tone_zrt(Tone)回复于 2001-12-28 13:38:06 得分 0
我忘记说了,这个程序在执行是要带较多的参数,好像重定向是不行的。Top




