当前位置: 首页 > news >正文

一流的赣州网站建设惠州企业网站建设

一流的赣州网站建设,惠州企业网站建设,基于html的个人网站的设计与实现论文,养殖推广网站怎么做我们在写软件的时候,希望我们的软件只在固定的机器上运行,其他机器上运行不了,那我们应该如何做呢? 1 首先我们需要得到运行机器的mac地址,这样可以简易的判断是否是我们授权的机器。 那我们首先定义一个授权mac机器…

我们在写软件的时候,希望我们的软件只在固定的机器上运行,其他机器上运行不了,那我们应该如何做呢?

1 首先我们需要得到运行机器的mac地址,这样可以简易的判断是否是我们授权的机器。

那我们首先定义一个授权mac机器列表

QStringList listMac;
listMac<<"8C:EC:4B:C9:CE:AC"<<"9C:EC:4B:C9:CE:AC"<<"7C:EC:4B:C9:CE:AC";这部也可以修改为读取远端数据库,其他方法可以自己按照自己情况考虑。

2 读取本机的mac信息,判断本机的mac是否在授权范围内。

3 读取注册表里面软件使用信息,我们可以用时间来判断是否过了有效期,加入第一次使用,注册表里面写入注册时间,下次进来对比当前时间和注册时间之间的差值,是否过了有效期。

4 对注册表的注册信息进行base64编码。

下面上代码:

#include <QNetworkInterface>
#include <QSettings>
#include <QCryptographicHash>
#include <QDateTime>
QStringList listMac;
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);listMac<<"8C:EC:4B:C9:CE:AC";ReadLocalInfo();
}Widget::~Widget()
{delete ui;
}QString Widget::ReadSystemTable()
{QString info;//通过写入注册表来判断QSettings settings("HKEY_CURRENT_USER\\Software\\Code_Encryption\\Settings",QSettings::NativeFormat);info = settings.value("remain_times").toString();return info;}
void Widget::WriteSystemTable()
{}
void Widget::ReadLocalInfo()
{QString macAddress;QList<QNetworkInterface> allInterfaces = QNetworkInterface::allInterfaces();for (auto &interface : allInterfaces) {// 通常, 我们选择第一个非虚拟和非回环接口if (interface.flags().testFlag(QNetworkInterface::IsUp) &&!interface.flags().testFlag(QNetworkInterface::IsLoopBack)) {macAddress = interface.hardwareAddress();m_MacAddress = macAddress;break;}}if(!listMac.contains(macAddress)){qApp->exit();}m_nCount = ReadSystemTable();AnalysisLocalInfo();
}
void Widget::AnalysisLocalInfo()
{if(m_nCount.isEmpty()){QByteArray strInfo;QDateTime currentData = QDateTime::currentDateTime();QString strTemp = m_MacAddress+"|"+currentData.toString("yyyy-MM-dd hh:mm:ss");strInfo = strTemp.toLocal8Bit();strInfo = strInfo.toBase64();QSettings settings("HKEY_CURRENT_USER\\Software\\Code_Encryption\\Settings",QSettings::NativeFormat);settings.setValue("remain_times",strInfo);}else{QByteArray strInfo = QByteArray::fromBase64(m_nCount.toLocal8Bit());QList<QByteArray> listInfo = strInfo.split('|');QDateTime lastData = QDateTime::fromString((QString)listInfo.at(1),"yyyy-MM-dd hh:mm:ss");QDateTime currentData = QDateTime::currentDateTime();if(currentData.secsTo(lastData)>=86400){qApp->exit();}qDebug()<<"lastData"<<lastData.toString("yyyy-MM-dd hh:mm:ss")<<"currentData"<<currentData.toString("yyyy-MM-dd hh:mm:ss");}}

http://www.yidumall.com/news/82705.html

相关文章:

  • 嘉兴百度网站推广成都百度推广代理公司
  • 手机网站制作工具网络推广培训班
  • 手机做炫光图头像的网站全网整合营销推广
  • 网站开发保密合同武汉百度推广开户
  • 青岛城市建设档案馆网站商家联盟营销方案
  • 网站开发工作室营业执照哈尔滨新闻头条今日新闻
  • 网站建设 电子商务网站开发百度指数关键词工具
  • 家居企业网站建设案例免费推广工具
  • 海南 网站 建设3000行业关键词
  • 中国移动互联网天津seo推广优化
  • vivo浏览器下载seo搜索优化公司排名
  • 个人可以做电影网站吗免费软文网站
  • 购物商城网站查域名网站
  • wordpress友情联机seo优化顾问
  • 甘肃省城乡与建设厅网站首页软文营销的五个步骤
  • 个人做网站能备案吗东莞网站设计公司
  • 做网站意义和目的b站推广链接
  • 营销网站价格seo策划
  • 个人网站模板制作教程北京网站维护公司
  • seo的基本步骤四个seo外链平台热狗
  • 包头北京网站建设福州网站排名
  • 网站建设与设计ppt模板小红书搜索关键词排名
  • 网站建设制作视频商丘网站优化公司
  • 旅游网站建设方案书石家庄seo排名公司
  • 大航母网站建设案例域名注册信息
  • 建一个分类信息网站四川整站优化关键词排名
  • 做网站就找喇叭人免费百度广告怎么投放
  • 怎么用.net做网站品牌运营
  • 真人菠菜网站开发制作找个网站
  • 区域性网站优化太原网络推广公司哪家好