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

相关推荐
一律清风1 小时前
QT-文件创建时间修改器
c++·qt
不知所云,1 小时前
qt cmake自定义资源目录,手动加载资源(图片, qss文件)
开发语言·qt
安冬的码畜日常2 小时前
【玩转 JS 函数式编程_006】2.2 小试牛刀:用函数式编程(FP)实现事件只触发一次
开发语言·前端·javascript·函数式编程·tdd·fp·jasmine
阑梦清川2 小时前
Java继承、final/protected说明、super/this辨析
java·开发语言
PythonFun2 小时前
Python批量下载PPT模块并实现自动解压
开发语言·python·powerpoint
Death2002 小时前
Qt 6 相比 Qt 5 的主要提升与更新
开发语言·c++·qt·交互·数据可视化
机器视觉知识推荐、就业指导2 小时前
使用Qt实现实时数据动态绘制的折线图示例
开发语言·qt
快乐就好ya3 小时前
Java多线程
java·开发语言
CS_GaoMing3 小时前
Centos7 JDK 多版本管理与 Maven 构建问题和注意!
java·开发语言·maven·centos7·java多版本
2401_858120534 小时前
Spring Boot框架下的大学生就业招聘平台
java·开发语言