我需要触发以下命令
convert C:\test.pdf C:\test.jpg
来自我的应用程序。
我试过
QProcess proc;
QStringList args = QStringList();
args << "convert";
args << "C:\\test.pdf";
args << "C:\\test.jpg";
int i = proc.execute("cmd.exe",args);
它不起作用。为什么呢?
编辑:Windows 7 32位
EDIT2:更准确地说,将\替换为\\
答案 0 :(得分:0)
你没有太多信息,但无论如何我会建议一些事情:
尝试直接执行:
cmd.exe转换C:\ test.pdf C:\ test.jpg
以上命令是您尝试从代码运行的命令。如果不起作用,您应该尝试将代码更改为:
QProcess proc;
QStringList args = QStringList();
args << "C:\test.pdf";
args << "C:\test.jpg";
int i = proc.execute("convert",args); // Since you can run "convert C:\test.pdf C:\test.jpg"
// I'm assuming you have convert.exe in your PATH environment variable.
答案 1 :(得分:0)
您需要使用双斜杠:
args << "C:\\test.pdf";
或者:
args << QDir::toNativeSeparators( "C:/test.pdf" );
因为\t
是一个标签字符。所以你的字符串变成了C: est.pdf