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

相关推荐
曾阿伦17 小时前
Trae CN Python环境调试debug指南
开发语言·python
PPPPickup18 小时前
基础知识差缺补漏-面试版持续更新
java·开发语言
兔兔兔兔118 小时前
记录C++ 3
开发语言·c++
黄鸭部落格ShiYuYuanFang18 小时前
【分享】软考每日一练与解析-计组 8/12
java·开发语言
m0_6174939418 小时前
Python 使用 cryptography 实现数据加密与解密
开发语言·python
大白同学42118 小时前
初始Qt——了解Qt背景
开发语言·qt
GoKu~18 小时前
Qt图形渲染相关例子
qt
万山寒18 小时前
python依赖包导出离线安装到没有外网的服务器
服务器·开发语言·python
特立独行的猫a19 小时前
我用 Rust + Tauri 2 复刻了 N_m3u8DL-CLI:一个 m3u8 多线程下载器
开发语言·后端·rust·m3u8·视频下载器·m3u8dl-cli
程序员雷欧19 小时前
LongAdder
开发语言·python