QT调用批处理命令及外部exe方法

一.QT调用外部exe

使用QT中的QProcess方法:

#include <QProcess>

QProcess process;

QString cmd ="test.exe"; //放在主程序exe同级目录下

process.start(cmd); // 启动可执行程序方法一

//process.startDetached(cmd); // 启动可执行程序方法二

//process.execute(cmd); // 启动可执行程序方法三

注意,此处启动可执行程序的方式有3种:

1.start:外部程序启动后,将随主程序的退出而退出

2.startDetached:外部程序启动后,当主程序退出时并不退出,而是继续运行。

3.execute:带阻塞

二.QT调用批处理命令

方法一:QT方式

1.调用命令与读取返回内容

#include <QProcess>

#include <QDebug>

#include <QTextCodec>

QProcess process;

QString cmd ="ping www.baidu.com";

process.start(cmd); // 启动可执行程序

//process.startDetached(cmd);

//process.execute(cmd);

//读取返回内容

process.waitForFinished();

process.waitForReadyRead();

QByteArray qba = process.readAll();

QTextCodec* pTextCodec = QTextCodec::codecForName("System");

assert(pTextCodec != nullptr);

QString str = pTextCodec->toUnicode(qba);

qDebug("aaa: %s\n",str.toStdString().c_str());

方法二:c语言方式

1.用system函数实现

#include <stdlib.h>

char* cmd ="ping www.baidu.com";

system(cmd);

注意:这种方法会阻塞进程

参考:https://miracle.blog.csdn.net/article/details/135150916

相关推荐
kimnoic7 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
必须得开心呀8 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
沫璃染墨10 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss
达子66611 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
道尔柯南11 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
楠楠子呀12 小时前
英语、西语、阿语客户各开一个口:多语言获客的分流方案
开发语言·javascript·ecmascript·跨境电商·whatsapp·营销工具
tachibana212 小时前
使用for range 的时候,它的地址会发生变化吗?
开发语言·后端·golang·go·语法
临床数据科学和人工智能兴趣组12 小时前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
王中阳Go12 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
geats人山人海13 小时前
java 4继承
java·开发语言