关于gcc中函数WinExec的一点体会

闲着写了个小程序。来实现释放资源文件并执行释放出来的vbs。

开始的时候一直不成功。后来发现。在WinExec中。作为参数的vbs全路径应该前后加上引号来表示是完整的一个部分。即在c中。vbs全路径前后各加上一个 \"。

但是。实际执行过程中发现。调用的vbs并没有完全执行完。因为WinExec调用wscript来执行vbs的过程实际上相当与执行一个子例程。和线程相似的。

在程序中我在调用WinExec后执行了一个自删除函数来实现删除其本身。这样就可能造成VBS没执行完主进程就结束。

解决办法是在WinExec函数调用后执行一个Sleep()函数来实现等待外部调用的完成。

实践中发现在调用WinExec前也要Sleep()主线程一段时间。不知道是不是等待资源释放的完成?感觉不大对。暂时还不知道理由。

Tags: gcc, winexec

« 上一篇 | 下一篇 »

只显示10条记录相关文章

gcc编译带资源文件 (浏览: 17520, 评论: 0)

1条记录访客评论

你好 请问你这个能给个具体运行VBS的例子嘛 我被这个问题搞了几天 找资料一直没完成 我QQ373012089 希望发我下邮箱啊 运行VBS的例子 你说的比较含蓄 没看懂

Post by 373012089 on 2011, November 29, 8:13 PM 引用此文发表评论 #1


发表评论

评论内容 (必填):