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

相关推荐
一位搞嵌入式的 genius1 分钟前
深入理解 JavaScript 异步编程:从 Event Loop 到 Promise
开发语言·前端·javascript
brevity_souls6 分钟前
SQL Server 窗口函数简介
开发语言·javascript·数据库
火云洞红孩儿16 分钟前
零基础:100个小案例玩转Python软件开发!第六节:英语教学软件
开发语言·python
AI殉道师28 分钟前
FastScheduler:让 Python 定时任务变得优雅简单
开发语言·python
花间相见36 分钟前
【JAVA开发】—— HTTP常见请求方法
java·开发语言·http
楼田莉子38 分钟前
Linux系统小项目——“主从设计模式”进程池
linux·服务器·开发语言·c++·vscode·学习
走粥1 小时前
选项式API与组合式API的区别
开发语言·前端·javascript·vue.js·前端框架
从此不归路1 小时前
Qt5 进阶【7】网络请求与 REST API 实战:QNetworkAccessManager 深度应用
开发语言·c++·qt
郑州光合科技余经理1 小时前
源码部署同城O2O系统:中台架构开发指南
java·开发语言·后端·架构·系统架构·uni-app·php
阿波罗尼亚1 小时前
Java框架中的分层架构
java·开发语言·架构