您的位置:程序门 -> vb -> 基础类



如何在vb调用外部程序执行完成后,再读取外部程序的结果?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在vb调用外部程序执行完成后,再读取外部程序的结果?
发表于:2007-05-25 12:45:11 楼主
我在编程时使用vb的shell语句调用外部的计算程序,例如sim.exe,这个exe程序是先读取已有的input.txt数据,运算结束后生成output.txt数据。但是运算的时候需要一定的时间,可能在2s以内。请问如何让vb   shell调用之后等待exe执行完成后再读取生成好的output数据吗?能使用timmer或循环语句实现吗??

我是vb初学者,还请大家多多指教!!!非常感谢!!!
发表于:2007-05-25 13:02:411楼 得分:0
典型的   shell   &   wait   你用   shell   &   wait   vb   作为关键字用搜索引擎搜索即可
发表于:2007-05-28 09:40:232楼 得分:0
非常感谢!!!在百度上查到了相关的文章,可以还是在没有生成txt文档之前程序就继续运行了,正在想办法解决。还是感谢您的帮助!
发表于:2007-05-28 14:07:543楼 得分:0
从别人处学习到的:

private   declare   function   openprocess   lib   "kernel32 "   (byval   dwdesiredaccess   as   long,   _
byval   binherithandle   as   long,   byval   dwprocessid   as   long)   as   long
private   declare   function   getexitcodeprocess   lib   "kernel32 "   (byval   hprocess   as   long,   _
lpexitcode   as   long)   as   long
private   const   process_query_information   =   &h400
private   const   status_pending   =   &h103

processid   =   shell(app.path   &   "\a.exe ",   vbnormalfocus)
hprocess   =   openprocess(process_query_information,   false,   processid)
                                      do
                                              call   getexitcodeprocess(hprocess,   exitcode)
                                              doevents
                                      loop   while   exitcode   =   status_pending


快速检索

最新资讯
热门点击