如何用system的进程启动一个GUI程序在当前

 我来答
草原上之狼
高粉答主

2018-01-14 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:3999万
展开全部
编写Gui时往往需要调用一些其他的外部程序。windows系统下,matlab可以用dos()或者
system()等命令来调用外部程序。
例如:dos(C:\Program Files\AA\XXX.exe')

有时还需要在调用应用程序后,让应用程序再调用某些文件来执行。这时可以在dos()或者
system()中加入参数来实现:
比如:dos(C:\AA\XXX.exe ABC.txt')%注意这里对空格的要求很严格。

在默认情形下,dos()或者system()打开了一个应用程序,知道这个应用程序结束了才执行后续
的命令,这里可以通过添加 & 的选项来实现打开应用程序后立即返回matlab,然后执行matlab
的后续命令,而不等待应用程序。
比如:dos('notepad file.m &')%To open the Microsoft Notepad editor and return control
immediately to MATLAB。

由于安装应用程序的路径中往往有空格,使得dos()或者system()无法识别。因此可以在执行
dos()或者system()之前,先记住当前路径cd1=cd; 然后把当前路径改到应用程序所在的文件夹。
打开应用程序完成后,再改回cd1.不影响后续程序的执行。

用matlab关闭应用程序时,可以调用tskill.exe,tskill.exe在关闭命令时,需要知道应用程序对应进程
的PID,有关用matlab读取PID的代码在网有下载。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式