QT 一键运行 bat 脚本文件运行 frpc 内网穿透

# 1、搭建 frps

教程看这篇文章

# 2、编写 bat 脚本

image-20230802103840478

两行就搞定

这个脚本原本是写好的,直接点击就可以打开穿透。

现在只是让 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;
    }
}

就酱紫

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

flechazo 微信支付

微信支付

flechazo 支付宝

支付宝

flechazo 贝宝

贝宝