QT 一键运行 bat 脚本文件运行 frpc 内网穿透
# 1、搭建 frps
教程看这篇文章
frps内网穿透搭建教程
https://zhuanlan.zhihu.com/p/635462920
# 2、编写 bat 脚本
两行就搞定
这个脚本原本是写好的,直接点击就可以打开穿透。
现在只是让 QT 帮我们打开它
frpc.exe -c frpc.ini | |
pause |
# 3、QT 执行脚本
#include <QProcess>
bool MainWindow::bfrpsstart(bool status){
static QProcess *frpprocess = new QProcess;
if(status){
//打开
if(frpinitflag){
//已经初始化了
return true;
}
//打开cmd
frpprocess->start("cmd");
frpprocess->waitForStarted();
//获取当前路径
QString currentdir = QCoreApplication::applicationDirPath();
//路径下放一个文件夹frps【这个是我自己内网穿透时用的】
QString frpcmdpath = "cd " + currentdir+"/frps/ ";
//bat文件名称【不需要带后面的.bat】
QString frpcmdfile = "&& start startfrps\n";
QString frpcmdstr = frpcmdpath+frpcmdfile;
qDebug()<<frpcmdstr;//输出一下
QByteArray frpcmdarr = frpcmdstr.toLatin1();
//向命令行写入命令
frpprocess->write(frpcmdarr);
//等待完成
frpprocess->waitForFinished(1000);
//读取命令行输出
QByteArray qbt = frpprocess->readAllStandardOutput();
QString msg = QString::fromLocal8Bit(qbt);
qDebug()<<msg;
ui->textEdit_Socket_Server_RecvData->append(msg);
frpinitflag = true;
return true;
}else{
//关闭
frpprocess->kill();
frpinitflag = false;
return false;
}
}
就酱紫