• 8532阅读
  • 6回复

用qprocess调用qq不成功,有人试过成功吗? [复制链接]

上一主题 下一主题
离线iiiyyyhhhsss
 

只看楼主 倒序阅读 楼主  发表于: 2009-11-26
     this->process1->start("C:\Program Files\Tencent\QQ\Bin\QQ.exe");

这样调用有没有问题?在任务管理器里也看不见qq被调用了

试过 this->process1->start("C:\WINDOWS\system32\cmd.exe");这个成功
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-26
空格问题,再加重“”括起来

题外,建议再看看 QProcess 的manual
离线iiiyyyhhhsss

只看该作者 2楼 发表于: 2009-11-26
我尝试过没有空格都不行啊已经把qq直接安装到C盘了,也不行:

C:\Tencent\QQ\Bin\QQ.exe
离线dbzhang800

只看该作者 3楼 发表于: 2009-11-26
这个就怪了,可以
1. cmd 下运行一下 确保程序运行正常
2. 检查 QProcess 的error类型
离线iiiyyyhhhsss

只看该作者 4楼 发表于: 2009-11-26
终于找到原因了,原来路径不能那样写,而是写成

C:/Tencent/QQ/Bin/QQ.exe

就是说不是“\”,而是"/",而且的确是路径里不能有空格

就是说不能直接复制属性里的那个路径!!!
离线dbzhang800

只看该作者 5楼 发表于: 2009-11-26
引用第4楼iiiyyyhhhsss于2009-11-26 21:38发表的  :
终于找到原因了,原来路径不能那样写,而是写成
C:/Tencent/QQ/Bin/QQ.exe
就是说不是“”,而是"/",而且的确是路径里不能有空格
.......


路径可以有空格,只不过你需要把路径用双引号括起来。

至于路径分隔符,字符 \ 在C或C++ 是特殊字符,必须写成 '\\'
只是编译器执行时,不少时候会容忍这一点,只要 \ 后面跟的字符不是 t v b等字符,一般能正常。
你这儿 \T 这种我还真是第一次注意到(当然,‘\\’误写成 '\'总是不好的)
离线wd007

只看该作者 6楼 发表于: 2009-11-26
在Qt Assistant中有这样的例子:
QObject *parent;
     ...
     QString program = "./path/to/Qt/examples/widgets/analogclock";
     QStringList arguments;
     arguments << "-style" << "motif";

     QProcess *myProcess = new QProcess(parent);
     myProcess->start(program, arguments);

写法与你说的一致
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
快速回复
限100 字节
 
上一个 下一个