精华内容
下载资源
问答
  • QT5修改windows电脑IP地址

    千次阅读 2018-12-13 00:59:22
    通过系统调用windows的dos命令来修改IP地址。 例如:netsh interface ip set address "WLAN" static 192.168.10.88 255.255.255.0 192.168.10.1 该条命令的意思是将名为WLAN的网卡的IP地址修改为静态IP,...

    1、QT修改IP地址程序原理

    通过系统调用windows的dos命令来修改IP地址。

    例如:netsh interface ip set address "WLAN" static 192.168.10.88 255.255.255.0 192.168.10.1

    该条命令的意思是将名为WLAN的网卡的IP地址修改为静态IP,192.168.10.88,子网掩码为255.255.255.0,网关为192.168.10.1。

    网卡名称查看:网络和共享中心→更改适配器设置

    当然,也可以自行修改网卡名,只要保证dos命令中的网卡名跟实际网卡名一致即可。

     

    2、QT调用dos命令

    其实使用方法跟linux中的system()系统调用类似,这里是使用QProcess来调用。

    首先包含头文件:

    #include <QProcess>

    然后参考如下代码修改IP:

    QProcess *process = new QProcess();
    QString cmd = "netsh interface ip set address ";
    cmd +="\"WLAN\" ";     //网卡名称要加双引号
    cmd +="static ";
    cmd += ui->lineEdit()->text(); //从界面上获取IP地址
    cmd +=" 255.255.255.0 ";
    cmd += "192.168.10.1";
    qDebug()<<"cmd = "<<cmd;
    process->start(cmd);   //执行dos命令
    process->waitForFinished(); //等待执行完成
    delete process;              

    注意命令dos命令之间的空格,程序执行结果如下:

    3、注意事项

    -------------------------------The last but not least --------------------------------------

    打开QT时和打开发布的程序时,一定要以管理员身份运行,否则使用该方法修改不了IP。建议在qt程序  属性->兼容性  中勾选以管理员身份运行选项。

     

    展开全文
  • Windows 使用QT读取IP地址并修改IP地址

    千次阅读 2018-05-09 16:16:11
    读取WindowsIP地址有三种方法:QT的QNetworkInterface IPHlpApiQT的QSettings读注册表修改windowsIP地址使用 netshnetsh interface ipv4 set address name = "以太网" source = static address = ...

    读取Windows的IP地址有三种方法:

    1. QT的QNetworkInterface   
    2. IPHlpApi
    3. QT的QSettings读注册表

    修改windows的IP地址使用 netsh

    netsh interface ipv4 set address name = "以太网" source = static address = 192.168.0.106 mask = 255.255.255.0 gateway = 192.168.0.1 

    代码:

    QT的QNetworkInterface   

    void QtNetwork::initNetwork()
    {
    	ui.comboBox->clear();
    
    	QString text;
    	QTextStream out(&text);
    	QList<QNetworkInterface> ifaceList = QNetworkInterface::allInterfaces();
    	for (int i = 0; i < ifaceList.count(); i++)
    	{
    		QNetworkInterface var = ifaceList.at(i);
    		out << QString::fromLocal8Bit("########## 设备%1 ############").arg(i) << endl;
    		out << QString::fromLocal8Bit("接口名称:") << var.humanReadableName() << endl;
    		out << QString::fromLocal8Bit("设备名称:") << var.name() << endl;
    		out << QString::fromLocal8Bit("硬件地址:") << var.hardwareAddress() << endl;
    
    		ui.comboBox->addItem(var.name());
    
    		out << QString::fromLocal8Bit("IP地址列表:") << endl;
    		// 读取一个IP地址的关联信息列表
    		QList<QNetworkAddressEntry> entryList = var.addressEntries();
    		for(int j = 0; j < entryList.count(); j++)
    		{
    			QNetworkAddressEntry entry = entryList.at(j);
    			out << QString::fromLocal8Bit("%1_地址:").arg(j) << endl;
    			out << QString::fromLocal8Bit(" IP地址:") << entry.ip().toString() << endl;
    			out << QString::fromLocal8Bit(" 子网掩码:") << entry.netmask().toString() << endl;
    			out << QString::fromLocal8Bit(" 广播地址:") << entry.broadcast().toString() << endl;
    		}
    	}
    
    	ui.textEdit->setPlainText(text);
    }
    IPHlpApi
    void QtNetwork::initNetwork_IPHlpApi()
    {
    	QString text;
    	QTextStream out(&text);
    
    	//IP_ADAPTER_INFO结构体
    	PIP_ADAPTER_INFO pIpAdapterInfo = NULL;
    	pIpAdapterInfo = new IP_ADAPTER_INFO;
    
    	//结构体大小
    	unsigned long ulSize = sizeof(IP_ADAPTER_INFO);
    
    	//获取适配器信息
    	int nRet = GetAdaptersInfo(pIpAdapterInfo, &ulSize);
    
    	if (ERROR_BUFFER_OVERFLOW == nRet)
    	{
    		//空间不足,删除之前分配的空间
    		delete[]pIpAdapterInfo;
    
    		//重新分配大小
    		pIpAdapterInfo = (PIP_ADAPTER_INFO) new BYTE[ulSize];
    
    		//获取适配器信息
    		nRet = GetAdaptersInfo(pIpAdapterInfo, &ulSize);
    
    		//获取失败
    		if (ERROR_SUCCESS != nRet)
    		{
    			if (pIpAdapterInfo != NULL)
    			{
    				delete[]pIpAdapterInfo;
    			}
    			return;
    		}
    	}
    
    	//MAC 地址信息
    	char szMacAddr[20];
    	//赋值指针
    	PIP_ADAPTER_INFO pIterater = pIpAdapterInfo;
    	int i = 0;
    	while (pIterater)
    	{
    		out << QString::fromLocal8Bit("########## 设备%1 ############").arg(i) << endl;
    		out << QString::fromLocal8Bit("网卡名称:") << pIterater->AdapterName << endl;
    		out << QString::fromLocal8Bit("网卡描述:") << pIterater->Description << endl;
    
    		sprintf_s(szMacAddr, 20, "%02X-%02X-%02X-%02X-%02X-%02X",
    			pIterater->Address[0],
    			pIterater->Address[1],
    			pIterater->Address[2],
    			pIterater->Address[3],
    			pIterater->Address[4],
    			pIterater->Address[5]);
    
    		out << QString::fromLocal8Bit("MAC 地址:") << szMacAddr << endl;
    
    		out << QString::fromLocal8Bit("IP地址列表:") << endl;
    
    		//指向IP地址列表
    		int j = 0;
    		PIP_ADDR_STRING pIpAddr = &pIterater->IpAddressList;
    		while (pIpAddr)
    		{
    			out << QString::fromLocal8Bit("%1_地址:").arg(j) << endl;
    			out << QString::fromLocal8Bit(" IP地址:") << pIpAddr->IpAddress.String << endl;
    			out << QString::fromLocal8Bit(" 子网掩码:") << pIpAddr->IpMask.String << endl;
    
    			//指向网关列表
    			PIP_ADDR_STRING pGateAwayList = &pIterater->GatewayList;
    			while (pGateAwayList)
    			{
    				out << QString::fromLocal8Bit(" 网关:") << pGateAwayList->IpAddress.String << endl;
    
    				pGateAwayList = pGateAwayList->Next;
    			}
    
    			pIpAddr = pIpAddr->Next;
    			j++;
    		}
    
    		pIterater = pIterater->Next;
    		i++;
    	}
    
    	//清理
    	if (pIpAdapterInfo)
    	{
    		delete[]pIpAdapterInfo;
    	}
    
    	ui.textEdit_2->setPlainText(text);
    }
    QT的QSettings读注册表
    void QtNetwork::initNetwork_reg()
    {
    	QString text;
    	QTextStream out(&text);
    
    	QSettings reg("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters\\Interfaces\\", QSettings::NativeFormat);
    	QStringList groupsList = reg.childGroups();
    	qDebug() << "read size:" << groupsList.size();
    
    	int i = 0;
    	foreach(QString group, groupsList)
    	{
    		out << QString::fromLocal8Bit("########## 设备%1 ############").arg(i) << endl;
    		out << QString::fromLocal8Bit("设备名称:") << group << endl;
    
    		reg.beginGroup(group);
    
    		QString ip = reg.value("IPAddress").toString();
    		if (!ip.isEmpty())
    		{
    			out << QString::fromLocal8Bit(" IP地址:") << ip << endl;
    		}
    
    		QString netmask = reg.value("SubnetMask").toString();
    		if (!netmask.isEmpty())
    		{
    			out << QString::fromLocal8Bit(" 子网掩码:") << netmask << endl;
    		}
    
    		QString gateway = reg.value("DefaultGateway").toString();
    		if (!gateway.isEmpty())
    		{
    			out << QString::fromLocal8Bit(" 网关:") << gateway << endl;
    		}
    
    		reg.endGroup();
    		i++;
    	}
    
    	ui.textEdit_3->setPlainText(text);
    }

    修改IP地址

    void QtNetworkEditDlg::on_pushButton_ok_clicked()
    {
    	QString name = m_interface.humanReadableName();
    	QString ip = ui.lineEdit_ip->text();
    	QString netmask = ui.lineEdit_netmask->text();
    
    	QProcess cmd(this);
    
    	// netsh interface ipv4 set address name = "以太网" source = static 
    	// address = 192.168.0.106 mask = 255.255.255.0 gateway = 192.168.0.1 gwmetric = 0
    	QString command = "netsh interface ipv4 set address name = "
    		+ name + " source = static address = " + ip
    		+ " mask = " + netmask;
    	cmd.start(command);
    	cmd.waitForFinished();
    
    	accept();
    }

    截图


    程序下载连接:https://download.csdn.net/download/xiao503/10403325
    展开全文
  • windows中修改IP映射的位置

    千次阅读 2018-08-05 14:42:44
    此时可以通过IP来访问,当然配置Windows中的映射也是可行的,windows中映射的位置 1.找到windows中配置映射的位置, 2.可以选择使用notepad++打开该文档, 3.在文章的末尾添加上自己的IP,当我们再次打开文件...

    在安装linux之后,发现windows不能通过映射来访问linux系统中的文件系统等等

    此时可以通过IP来访问,当然配置Windows中的映射也是可行的,windows中映射的位置

    1.找到windows中配置映射的位置,

    2.可以选择使用notepad++打开该文档,

    3.在文章的末尾添加上自己的IP,当我们再次打开文件系统,发现就可以用映射关系打开文件系统等

     

    展开全文
  • windows10 IP修改与 netsh 配置网络

    万次阅读 2016-08-11 00:01:28
    windows10 IP修改与 netsh 配置网络 最近有很多人都在问 windows10 的ip地址自己无法修改,如果你用路由上网,路由使用的是DHCP的话修改IP就会提示: “————————— 本地网络 ————出现了一个意外的情况...
    ## windows10 IP修改与 netsh 配置网络 ##
    
    
    

    最近有很多人都在问 windows10 的ip地址自己无法修改,如果你用路由上网,路由使用的是DHCP的话修改IP就会提示: “————————— 本地网络 ————出现了一个意外的情况。不能完成所有你在设置中所要求的更改。 —————————”。

    在 windows 中自带有功能强大的网络配置软件 :netsh ,如果正确的使用,可以帮我们完成很多工作,不过netsh是纯文本界面的所以操作起来不是太顺手。

    首先给出问题的解决方法,如果想自定义IP、网关、DNS,运行下面的脚本:

    netsh interface ipv4 set address name="以太网" source=static address=192.168.0.106 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=0
    
    netsh interface ipv4 set dnsservers name="以太网" source=static address=192.168.0.1
    pause

    如果想取消修改,继续使用DHCP为自己分配IP可以运行下面的脚本

    netsh interface ipv4 set address name="以太网" source=dhcp
    netsh interface ipv4 set dnsservers name="以太网" source=dhcp
    pause
    注意:1.一定要以管理员身份运行,2.建议直接复制脚本,3.脚本都是测试过的。下面是讲解脚本的含义,以便大家更灵活的配置自己的电脑。

    netsh:启动netsh软件, interface ipv4 进入软件的ipv4地址配置,如果把ipv4换成ip没有影响,默认都是ipv4.
    set address 是配置ip、子网掩码、网关(就是你的路由器)。
    name : 网络类型,有的是宽带连接,有的是以太网,可以用ipconfig -all 命令查看。你家有路由器,你应该是以太网。注意name的值要用引号。
    source指网络 ,dhcp自动分配ip有租期ip会变,static 静态自己配置ip。
    address:你想要的ip地址,mask:子网掩码码,局域网设为255.255.255.0就行了。
    gateway:网关地址也就是你的路由地址一般是192.168.0.1或192.168.1.1什么的,
    gwmetric:到路由的跳数,电脑和路由直接连接中间没有其他路由,所以跳数为 0 。

    set dnsservers :设置dns服务器,参数和上面的意思相同如果内网服务器地址就填路由的地址,外网用ISP提供的dns服务器ip。

    下面是cmd自带的命令帮助和用法,只需要在命令下后加 -? 就可以看到,贴出来给大家参考,对了如果前面的命令掌握了就可以轻松的绑定ip与mac地址所以绑定我就不在说了,下面第一条就是绑定命令说明。


    
    注意:所有的命令都是在netsh 下的interface下的ipv4:执行
    所以如果自己输命令,按照下面那的顺序:netsh > interface > ipv4 
    让命令提示符处于下面的状态:
    netsh interface ipv4>
    然后就可以输入下面的命令了。
    
    1.在DHCP下绑定IP与Mac地址(静态 减少DHCP开销)
    命令  add neighbors 
    
    用法: add neighbors [interface=]<string> [address=]<IPv4 address>]
                 [neighbor=]<string> [[subinterface=]<string>]
                 [[store=]active|persistent]
    
    参数:
    
           标记             值
           interface      - 接口名称或索引。
           address        - 邻居网络地址。
           neighbor       - 邻居链接层地址。
           subinterface   - 子接口的 LUID。此仅用于带有多个子接口的接口。
           store          - 下列其中一个值:
                            active: 地址将在下一次启动时出现。
                            persistent: 地址持久有效。此为默认值。
    
    注意 最好使用管理员身份运行cmd然后再执行操作
    
    2.windows 手动配置 IP
    命令  set address 
    
    用法: set address [name=]<字符串>
                 [[source=]dhcp|static]
                 [[address=]<IPv4 地址>[/<整数>] [[mask=]<IPv4 掩码>]
                 [[gateway=]<IPv4 地址>|none [gwmetric=]<整数>]
                 [[type=]unicast|anycast]
                 [[subinterface=]<字符串>]
                 [[store=]active|persistent]
    
    参数:
    
           标记            值
           name         - 接口名称或索引。
           source       - 下列值之一:
                          dhcp: 启用 DHCP,以便为指定的接口
                                配置 IP 地址。
                          static: 禁用 DHCP,以便为指定的接口
                                配置 IP 地址。如果配置了
                                地址或网关,则必须指定
                                该值。
           address      - 要添加或修改的 IPv4 地址,
                          后边也可以加上子网前缀长度。
           mask         - 指定的 IP 地址的 IP 子网掩码。
           gateway      - 下列值之一:
                          <IPv4 address>: 正在设置的静态 IP 地址的
                                          特定默认网关。
                          none: 未设置任何默认网关。此为默认值。
           gwmetric     - 默认网关的跃点数。仅在指定了网关时
                          才应设置该字段。
           type         - 下列值之一:
                          unicast: 将地址标记为单播地址。
                                   此为默认值。
                          anycast: 将地址标记为任意广播地址。
           subinterface - 默认网关存在于其上的子接口的 LUID。
                          此参数仅用于带有
                          多个子接口的接口。
           store        - 下列值之一:
                          active: 设置仅持续到下一次启动。
                          persistent: 设置永久有效。此为默认值。
    3. 手动设置dns服务
    命令  set dnsservers
    
    用法: set dnsservers [name=]<字符串> [source=]dhcp|static
                 [[address=]<IP 地址>|none]
                 [[register=]none|primary|both]
                 [[validate=]yes|no]
    
    参数:
    
          标记           值
          name         - 接口的名称或索引。
          source       - 下列值之一:
                         dhcp: 将 DHCP 设置为源,以便为特定接口配置 DNS
                                服务器。
                         static: 将用于配置 DNS 服务器的源设置为
                                 本地静态配置。
          address      - 下列值之一:
                         <IP address>: DNS 服务器的 IP 地址。
                         none: 清除 DNS 服务器的列表。
          register     - 下列值之一:
                         none: 禁用动态 DNS 注册。
                         primary: 仅在主 DNS 后缀下注册。
                         both: 在主 DNS 后缀下注册,同时在特定连接后缀下
                               注册。
          validate     - 指定是否将验证 DNS 服务器
                         设置。默认情况下,值为 yes。
    设置后无法联网就用上面的脚本回到DHCP。
    好运。


    展开全文
  • 自动修改 Windows IP 地址的脚本文件创建批处理文件设置以管理员身份运行使用 本文的目的是将大家如何在 Windows 平台创建一个可自动修改 IP 地址的脚本文件。这主要涉及以下两个步骤: 创建批处理文件 设置以管理...
  • Windows 修改电脑ip的小程序

    千次阅读 2018-07-15 18:45:58
    漫游了ip地址,宿舍,毕设室来回换,真费劲。写了一个.bat文件进行ip的更换,分享给大家。将以下代码复制,保存为.txt文档,方便一会儿修改netsh interface ip set address name="以太网" source="...
  • 要求写出Windows下用命令修改IP地址,wifi共享的设置方法
  • 修改windowsip地址

    千次阅读 2018-11-20 23:47:40
    https://jingyan.baidu.com/article/c74d6000cb02e10f6b595d7f.html
  • Windows下用脚本快速修改IP地址

    万次阅读 2015-12-22 00:21:37
    因为在教室,IP是自动获取的,在宿舍是用的固定的IP,每天来回换真的好麻烦,之前XM说写个脚本就好了,我也没在意,当我有一天真的被频繁改IP弄烦了后还是脚本好,现在整个人都爽爽哒!以下把步骤给记录一下。 第一...
  • Windows环境下修改IP的bat文件

    千次阅读 2018-03-02 09:57:53
    一个用来修改IP地址的bat小工具先看看需要修改的网络连接名称:我的是:无线网络连接.bat代码::: 设置IP地址 set /p choice=请选择设置类型(1:静态IP / 2:自动获取IP): echo. if "%choice%"=="1" ...
  • Windows环境使用bat方式快速修改IP

    万次阅读 2018-11-10 00:08:26
    Windows环境中一个使用bat文件方式快速修改IP
  • 最近公司进行网络改造, 给每个工程组分配不同的网段,使得组织间的网络不能互相访问,在我重新配置完我们组的网络后,刚开始可以使用台式机连接服务器,但是过了一段时间重启后,所有的windows服务器都不能ping通,...
  • windows下一键修改IP地址

    千次阅读 2009-04-22 10:09:00
    笔记本经常带着家里和办公室两头跑,每次需要修改IP地址。有没有方便的办法修改呢?我同事用lisp写了个脚本,如下:(when (setq ip (main-args 2))(println ip)(process (format "netsh interface ip set address /...
  • windows使用CMD命令窗口修改IP地址

    万次阅读 2019-01-04 19:59:02
    1、用快捷键"Win+R"打开运行界面,输入"cmd"回车,打开命令提示符。... static 新IP地址 子网掩码 网关 1】,然后回车。注意,上述命令需要按照用户要求进行修改,连接名称可以参照“网络
  • Windows下命令行修改IP地址DNS地址

    万次阅读 2013-09-27 10:27:18
    1. 修改IP地址: 设置IP地址: netsh interface ip set address name="本地连接" source=static addr=192.168.1.100mask=255.255.255.0 gateway=192.168.1.1 清空IP地址: netsh interface ip set address name=...
  • hotst文件路径:C:\Windows\System32\drivers\etc 打开文件,在最后一行加上例如:127.0.0.1 www.163.com 格式(需要指定调转的ip 空格 访问ip) 本地服务打开后:http://localhost:9000/swagger-ui.html#/这个是...
  • Windows下通过脚本快速修改IP地址

    万次阅读 2013-08-08 20:01:47
    Windows下通过脚本快速修改IP地址 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了。 经常要切换ip,所以我写了两个脚本: c:\办公室.bat netsh interface ip set address "以太网" static 192.168.1.234 255....
  • 本批处理可以在Windows系统下修改多块网卡的IP地址,掩码,网关和DNS信息。加入了删除默认路由,自动添加两块网卡路由信息。(请根据需要修改ip地址,网卡名称和路由信息) @echo off echo 正在修改第一块网卡配置...
  • 修改windows IP和DNS 批处理脚本

    千次阅读 2013-10-23 20:26:56
    %修改windows IP和DNS 批处理脚本% @echo off netsh interface ip set address 本地连接 static 192.168.60.19 255.255.255.0 192.168.60.254 netsh interface ip set dns 本地连接 static 202.206.32.1 echo Chan
  • windows 10无法手动修改IP解决方法

    万次阅读 2018-08-11 15:15:37
    桌面-》右键-》新建:txt文件 --》保存:test.bat-&gt;双击bat运行即可 ...:: netsh interface ip set address "本地链接33" static 192.168.207.222 255.255.255.0 192.168.207....
  • 给大家分享两个批处理脚本,一个是修改固定ip的,另外一个是改成自动获取的   自动获取: @echo off netsh interface ip set address name="本地连接" dhcp netsh interface ip set dns name="...
  • windowsip地址存放的位置,及修改

    千次阅读 2015-09-14 11:23:59
    Windowsip的存储与设置 修改ip命令:netsh interface ipv4 set address name="本地连接" source=static addr=10.1.50.64 mask=255.255.248.0 gateway=10.1.48.1;//不一定是本地连接,具体可以看网络连接中的网络...
  • Windows CMD 命令修改本机 ip 和 dns

    千次阅读 2018-05-14 09:10:50
    netsh interface ip set address “以太网” static 192.168.0.100 255.255.255.0 192.168.0.1 注:”以太网”是你网络的名称,引号为中文双引号,192.168.0.100为你想要修改的IP,255.255.255.0为子网掩码,192....
  • type 网络配置.netsh# ---------------------------------- # 接口 IP 配置 # ---------------------------------- pushd interface ip## "本地连接" 的接口 IP 配置#设静态IPset address name="本地连接" source=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 365,126
精华内容 146,050
关键字:

windows改ip