QT5修改windows電腦IP地址
阿新 • • 發佈:2018-12-23
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程式 屬性->相容性 中勾選以管理員身份執行選項。