#include "mainwindow.h"#include"ui_mainwindow.h"#include#include#include#include#include#include#includeMainWindow::MainWindow(QWidget*parent) :
QMainWindow(parent),
ui(newUi::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}//const QString strReg="HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0007";
voidMainWindow::on_btnRecover_clicked()
{
ui->btnRecover->setEnabled(false);if(!loadIni())
{
ui->btnRecover->setEnabled(true);return;
}
setButtonStatus(ui->btnModify,false);
QSettings*reg=newQSettings(mReg,QSettings::NativeFormat);
reg->setValue("NetworkAddress",mOriginal);
delete reg;
reg=NULL;
reStartNetWork();
setButtonStatus(ui->btnRecover,true);
ui->btnRecover->setEnabled(true);
}voidMainWindow::on_btnModify_clicked()
{
ui->btnModify->setEnabled(false);if(!loadIni())
{
ui->btnModify->setEnabled(true);return;
}
setButtonStatus(ui->btnRecover,false);
QSettings*reg=newQSettings(mReg,QSettings::NativeFormat);
reg->setValue("NetworkAddress",mModify);
delete reg;
reg=NULL;
reStartNetWork();
setButtonStatus(ui->btnModify,true);
ui->btnModify->setEnabled(true);
}voidMainWindow::reStartNetWork()
{
setNetEnabled(false);
setNetEnabled(true);
}void MainWindow::setNetEnabled(boolisEnabled)
{
QStringList cmdlst;if(isEnabled)
{
cmdlst<
cmdlst<
}else{
cmdlst<
cmdlst<
}
runCMD(cmdlst);
}voidMainWindow::testCmd()
{
QProcess p(0);
p.start("cmd", QStringList()<
p.waitForStarted();
p.waitForFinished();
QString strTemp=QString::fromLocal8Bit(p.readAllStandardOutput());
QMessageBox testMassage;
testMassage.setText(strTemp);
testMassage.exec();
}void MainWindow::runCMD(const QStringList &cmdlst)
{
QProcess p(0);
p.start("cmd",cmdlst);
qDebug()<
p.waitForStarted();
p.waitForFinished();
qDebug()<<:fromlocal8bit>
}void MainWindow::setButtonStatus(QPushButton *btn,boolisClick)
{if(isClick)
{
btn->setStyleSheet("QPushButton{background-color: rgb(220, 241, 252);"
"border-color: rgb(170, 255, 255);"
"border-radius: 10px;"
"border: 1px solid;"
"}");
}else{
btn->setStyleSheet("QPushButton{background-color: rgb(240, 240, 240);"
"border-color: rgb(170, 255, 255);"
"border-radius: 10px;"
"border: 1px solid;"
"}");
}
}boolMainWindow::loadIni()
{if(!QFile::exists(qApp->applicationDirPath()+"\\config.ini"))
{
QMessageBox box;
box.setText("config.ini don‘t exist!");
box.setStandardButtons(QMessageBox::Ok);
box.exec();return false;
}
QSettings*setIni = new QSettings(qApp->applicationDirPath()+"\\config.ini", QSettings::IniFormat);
mReg=setIni->value("Regedit/reg").toString();
mOriginal=setIni->value("MacAddress/original").toString();
mModify=setIni->value("MacAddress/modify").toString();return true;
}