windows下qt设置网卡ip信息+简单案列(图形化界面设置网卡IP)。

news2024/12/26 23:54:11

windows设置网卡ip信息的方法


文章目录

  • windows设置网卡ip信息的方法
  • 前言
  • 一、QProcess修改网卡ip信息
    • 1.1 代码实例
  • 二、system修改网卡ip信息
    • 2.1 代码实例
  • 三、qt修改网卡信息案例
    • 3.1 设计方法
    • 3.2 代码实例
    • 3.3 功能测试


前言

方法1:QProcess修改网卡ip信息;
方法2:system修改ip信息;
简单案例:
功能描述:
用户可根据网卡名,去手动设置windows网卡信息。
后续持续更新…


一、QProcess修改网卡ip信息

切记,windows下必须要以管理员权限运行,才可成功修改ip。

1.1 代码实例

这里我把功能实现写到一个函数里,并明确说明函数参数的意义。

/*
功能:设置网卡ip信息
函数参数: netName 网卡名,clinetip 网卡ip
*/ 
void QProcessSetIp(QString netName, QString clientip)
{
	QProcess *process = new QProcess();
	QString cmd = "netsh interface ip set address ";
	cmd += "\"";
	cmd += netName; //网卡名
	cmd += "\" ";
	cmd += "static";
	cmd += clientip; //网卡ip
	cmd += " 255.255.255.0 "; //子网掩码,这里前后需要加空格
	cmd += "192.168.187.1"; //网关
	qDebug()<<"cmd = "<<cmd; //调试信息
	process->start(cmd); //执行dos命令
	process->waitForFinished(); //等待执行完成
	delete process;
}

这里可能会修改网卡信息不成功,原因如下:

  1. 未使用以管理权限运行此程序;
  2. 函数里面的网卡信息格式不对,例如:
    (1)网卡名、ip、子网掩码、网关中间需要用空格隔开
    (2)网卡名前后需要用\引用住,可参考函数中的写法。

二、system修改网卡ip信息

切记,windows下必须要以管理员权限运行,才可成功修改ip。

2.1 代码实例

system("netsh interface ip set address name=\"网卡1\"source=static addr=172.2.1.1 mask=255.255.255.0 gateway=172.2.1.0");

三、qt修改网卡信息案例

切记,windows下必须要以管理员权限运行,才可成功修改ip。

目录结构:
在这里插入图片描述

3.1 设计方法

1.设置ui界面
在这里插入图片描述
2.“确定”按钮转到槽clicked()

3.2 代码实例

widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
    Q_OBJECT
public:
    explicit Widget(QWidget *parent = nullptr);
    void QProcessSetIp(QString netName, QString clientip, QString mast, QString gateway); //修改网卡信息

    ~Widget();
    
private slots:
    void on_pushButton_clicked();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QProcess>
#include <QMessageBox>
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

void Widget::QProcessSetIp(QString netName, QString clientip, QString mast, QString gateway)
{
    QProcess *process = new QProcess();
    QString cmd = "netsh interface ip set address ";
    cmd += "\"";
    cmd += netName; //网卡名
    cmd += "\" ";
    cmd += "static ";
    cmd += clientip; //网卡ip
    cmd += " ";
    cmd += mast; //子网掩码
    cmd += " ";
    cmd += gateway; //网关
    qDebug()<<"cmd = "<<cmd; //调试信息
    process->start(cmd); //执行dos命令
    process->waitForFinished(); //等待执行完成
    delete process;
   // system("netsh interface ip set address name=\"VMware Network Adapter VMnet8\"source=static addr=172.2.1.1 mask=255.255.255.0 gateway=172.2.1.0");
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
        QString name = "";
        QString ip = "";
        QString mask = "";
        QString gateway = "";
        name = ui->lineEdit->text();
        ip = ui->lineEdit_2->text();
        mask = ui->lineEdit_3->text();
        gateway = ui->lineEdit_4->text();

        qDebug()<<"name = "<<name;
        qDebug()<<"ip = "<<ip;
        qDebug()<<"mask = "<<mask;
        qDebug()<<"gateway = "<<gateway;

        if(QMessageBox::Save == QMessageBox::question(this,"网卡IP","是否保存?",QMessageBox::Save | QMessageBox::Cancel))
                {
                    qDebug()<<"点击了 save!";
                    QProcessSetIp(name, ip, mask, gateway);
                }
                else
                {
                    qDebug()<<"点击了 cancel!";
                }
}

3.3 功能测试

1.界面输入以下信息
在这里插入图片描述
2.确定后查看对应网卡信息
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/340353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四种方式的MySQL安装

mysql安装常见的方法有四种序号 安装方式 说明1 yum\rpm简单、快速&#xff0c;不能定制参数2二进制 解压&#xff0c;简单配置就可使用 免安装 mysql-a.b.c-linux2.x-x86_64.tar.gz3源码编译 可以定制参数&#xff0c;安装时间长 mysql-a.b.c.tar.gz4源码制成rpm包 把源码制…

Spring boot 实战指南(四):登录认证(OAuth、Cookie、Session、Token)、Spring Security

文章目录一、登录认证方式1.OAuth 认证颁发令牌的四种方式2.Cookie/Session 认证(1)Cookie(2)Session3.Token认证基于JWT的Token认证(spring security)二、Spring boot整合Spring Security(前后端分离)1.快速入门2.认证3.授权参考&#xff1a; 教程 登录认证简介 OAuth 2.0 的一…

Spring项目中用了这种解耦模式,老大对我刮目相看

前言不知道大家在项目中有没有遇到过这样的场景&#xff0c;根据传入的类型&#xff0c;调用接口不同的实现类或者说服务&#xff0c;比如根据文件的类型使用 CSV解析器或者JSON解析器&#xff0c;在调用的客户端一般都是用if else去做判断&#xff0c;比如类型等于JSON&#x…

Python Web开发:用Tornado框架制作一个简易的网站

前言 大家早好、午好、晚好吖 ❤ ~ 今天我们要用Python做Web开发&#xff0c;做一个简单的【表白墙】网站。 众所周知表白墙的功能普遍更多的是发布找人&#xff0c;失物招领&#xff0c;还是一个大家可以跟自己喜欢的人公开表白的平台 Tornado框架简单介绍 在Python当中&am…

SpringMVC笔记【JavaEE】

SpringMVC 1. SpringMVC概念 Spring MVC 是一个Web 框架。Spring MVC 是基于Servlet API构建的。 MVC是 Model&#xff08;模型&#xff09; View&#xff08;视图&#xff09; Controller&#xff08;控制器&#xff09; 的缩写&#xff0c;它是一种设计模式。 视图分为两种&…

2022年山东省中职组“网络安全”赛项比赛任务书正式赛题

2022年山东省中职组“网络安全”赛项 比赛任务书 一、竞赛时间 总计&#xff1a;360分钟 竞赛阶段竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 180分钟 200分 A-2 Nginx安全策略 A-3 日志监控 A-4 中间件服务加固 A-5 本地安全策略…

html的表单标签(form)

目录标题1、表单标签主要有三大类&#xff1a;2、表单标签中常见的属性3、例子代码及结果4、注意&#xff1a;5、表单中特殊的属性表单标签可以用来数据交互&#xff0c;而前面学的六个标签只能发送不能接收。 表单标签的作用就是数据交互1、表单标签主要有三大类&#xff1a; …

搭建本地私有仓库

目录 一、搭建本地私有仓库 1、首先下载registry镜像 2、在daemon.json文件中添加私有镜像仓库地址 3、运行restart容器 4、为镜像打标签 5、上传到私有仓库 6、列出私有仓库的所有镜像 7、列出私有仓库的centos镜像有哪些tag 8、删除原有的centos的镜像&#xff0c;再测试…

双目测距------双目相机V1.0,将双目相机采集到任意一点的深度数据进行串口传输(带源码)

Depth2Uart 双目测距------双目相机V1.0&#xff0c;将双目相机采集到任意一点的深度数据进行串口传输 一、项目说明/Overview 所实现的功能&#xff1a;基于Intel Realsense官方提供的SDK&#xff0c;双目深度相机能获取到相机任何一个像素点距离前方障碍物的距离&#xff0…

电子学会2022年12月青少年软件编程(图形化)等级考试试卷(三级)答案解析

目录 一、单选题(共25题&#xff0c;共50分) 二、判断题(共10题&#xff0c;共20分) 三、编程题(共3题&#xff0c;共30分) 青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;三级&#xff09; 一、单选题(共25题&#xff0c;共50分) 1. 默认小猫角色…

FlinkCEP - Flink的复杂事件处理

版本说明 本文中以Flink 1.16.1 版本讲解说明 Note:Flink1.16.1版本相较于之前版本增强的within函数&#xff0c; 支持模式序列中相邻事件间的超时定义&#xff0c;以前版本只支持模式序列中第一个事件到最后一个事件之间的最大时间间隔。 快速开始 基于Kafka connecter 流…

C语言速成(有基础)

linux下的 是一种通用的、面向过程式的计算机编程语言 #include <stdio.h> //#include 预处理命令&#xff0c;用来引用头文件&#xff0c; stdio.h 头文件 int main() //开始 {/* 一个注释 */printf("Hello, World! \n");return 0; …

最强大的人工智能chatGPT不会还有人没用过吧,再不用就out了

&#x1f517; 运行环境&#xff1a;chatGPT &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f9…

JUC并发编程 Ⅱ -- 共享模型之管程(上)

文章目录共享带来的问题临界区 Critical Section竞态条件 Race Conditionsynchronized 解决方案synchronized语法解决方案思考面向对象改进方法上的 synchronized线程八锁变量的线程安全分析成员变量和静态变量是否线程安全&#xff1f;局部变量是否线程安全&#xff1f;局部变…

搜索插入位置-力扣35-java

一、题目描述给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums [1,3,5,6], target 5输出: 2示例 2:输…

制作自己的ChatGPT

众所周知&#xff0c;ChatGPT 目前能够取得令人印象深刻的壮举。 很可能许多人都有在他们自己的项目中使用该技术的想法。 不过需要注意的是&#xff0c;ChatGPT 目前并没有官方的 API。 使用非官方 API 可能会导致困难。 目前需要手动获取access token和cloudflare token才能…

基于Java+SpringBoot+Vue前后端分离学生宿舍管理系统设计与实现

博主介绍&#xff1a;✌全网粉丝3W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌ 博主作品&#xff1a;《微服务实战》专栏是本人的实战经验总结&#xff0c;《S…

智慧水务未来技术发展方向预测探讨

随着科技的不断发展和城市化的加速&#xff0c;智慧水务作为一种新的水务模式&#xff0c;逐渐受到广泛关注。未来&#xff0c;智慧水务将会面临更多的技术挑战和商机。本博客将对智慧水务的未来技术发展方向进行预测&#xff0c;以探讨智慧水务未来可能的技术重点。 1. 人工…

MySQL数据库11——子查询语句

嵌入一个SELECT的语句称为子查询语句。虽然内连接也可以代替子查询&#xff0c;但是内连接效率不高。而且我个人觉得子查询更好理解。 单值子查询 果子查询返回单值&#xff0c;则可以使用关系运算符&#xff0c;例如&#xff0c;等于&#xff08;&#xff09;、不等于&#x…

【C语言】“指针的运算”、“指针与数组”

文章目录一、指针运算1.指针 - 整数2.指针-指针3.指针关系运算二、指针与数组三、二级指针四、指针数组完结一、指针运算 指针可以进行整数&#xff0c;指针-指针&#xff0c;还有关系运算&#xff0c;其他的运算会被编译器阻止。 1.指针 - 整数 对指针进行的时候一定要注意不…