C++中程序中调用了一个带窗口的工具后如何不关闭该窗口而继续执行下面的语句?

我在C++程序中,使用system调用了program1.exe程序,弹出窗口win1,然后我不想通过手动关闭win1而让程序继续执行下面的语句,怎么做?伪代码如下:sy... 我在C++程序中,使用system调用了program1.exe程序,弹出窗口win1,然后我不想通过手动关闭win1而让程序继续执行下面的语句,怎么做?
伪代码如下:
system("program1.exe");
//弹出了win1
//下面是程序往下的其它语句xyz...
现在问题是,如果我不手动关闭win1,"system("program1.exe");"往下的语句就不会运行。怎么破?
我的初步想法是在system语句前另开一个线程B,在这个线程B中执行等待,比如Sleep个20s(确保win1被弹出来了),然后再执行taskkill掉program.exe。
我对C++很不熟,还希望大神们帮忙看看这是不是可行。如果可行,还请尽可能不吝留下点代码。谢谢哈。
展开
 我来答
lpl9394
2014-07-22
知道答主
回答量:17
采纳率:0%
帮助的人:10.7万
展开全部
楼主的方法是可以的,但比较麻烦。还不如直接使用ShellExcute好,ShellExcute直接调用你的program1.exe后,program1.exe会自行运行,而你的程序也会继续往下走。
所以由此可以看出system语句和shellexcute之间的差别,system适合用于有时间等待关系的情况,比如假设你需要等program1.exe被调用起来后再执行往下的操作,system就会更适合,它不需要设死一个等待时间,而是可以直接监听到程序执行完毕,马上往下走。
veket的小号
2014-07-15 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3994万
展开全部
调用 windows API 函数 WinExec 或 ShellExecute、ShellExecuteEx 具体自己问谷歌
你要开线程的话顺带把CreateProcess也学了吧....亲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自颍州西湖趣味盎然的虎鲸
2019-07-16
知道答主
回答量:1
采纳率:0%
帮助的人:724
展开全部
使用system( start “” program1.exe)即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式