• 8566阅读
  • 5回复

请教用QProcess的start函数启动windows应用程序的问题 [复制链接]

上一主题 下一主题
离线tutu22010504
 

只看楼主 正序阅读 楼主  发表于: 2010-01-19
本人目前有一Win32的GUI应用程序a.exe存放在E:\下,

命令行方式下,当前路径不在E:\时,只能通过start /d E:\ a.exe来启动a.exe.
目前想通过QProcess启动a.exe,但是在应用程序中想通过QProcess传入start 命令启动应用程序,却不能正常启动.
十分疑惑.向各位请教.
代码如下:
QProcess * process = new QProcess();
process->start("start /d E:\ a.exe")

添加了关于出错时的槽,每次执行完上面的start代码后,都会出现err消息,同时错误类型是FailedToStart;

请问各位,我上面的代码哪里不正确?还是将start和QProcess的start方法结合使用有问题?
请各位多多指教.
离线allxm

只看该作者 5楼 发表于: 2011-02-18
mplayer->setWorkingDirectory(QString("D:/Program Files/Tencent/QQ/Bin/"));
mplayer->start("QQ.exe");


mplayer->setWorkingDirectory(QString("D:\\Program Files\\Tencent\\QQ\\Bin"));
mplayer->start("QQ.exe");

怎么设置都不行啊!怎么回事?
离线tutu22010504

只看该作者 4楼 发表于: 2010-01-22
谢谢,看过提供的帖子.得到启示.
后来又研究发现start 命令不是start ()函数能够调用的命令,它是一个Windows下脚本命令.
现在在启动应用程序前,获取应用程序所在路径,并通过setWokingDirectory(QString path)将启动路径设置成,应用程序所在路径之后,就可以用QProcess的start()函数启动该应用程序了.
多谢
离线benbenmajia

只看该作者 3楼 发表于: 2010-01-19
安然.....
离线benbenmajia

只看该作者 2楼 发表于: 2010-01-19
windows下调用这么一个程序启动是什么命令?
安然.....
离线benbenmajia

只看该作者 1楼 发表于: 2010-01-19
你start()函数调用时候的参数对吗?
start(const QString &,const QStringList & ,Mode= XXX)
start(const QString &,Mode= XXX)
安然.....
快速回复
限100 字节
 
上一个 下一个