vc 获取机器码

摘要:
机器的机器代码实际上是计算机的一些特征代码,包括硬盘的序列号、CPU号、BIOS号和其他与硬件相关的数字。您可以使用VC++获取这些数字,并使用某种算法将它们组合起来生成机器代码。使用此机器代码根据特定算法生成注册代码。这将保护您的软件,因此只有具有此机器代码的机器才能安装您的软件。
所谓机器的机器码其实就是电脑的一些特征码,包括硬盘序列号、CPU编号、BIOS编号等等和硬件有关的编号。
你可以用在VC++中获取这些编号,并用一定的算法将他们组合后,就生成了一个机器码,用这个机器码按照一定的算法生成一个注册码,这样就对你的软件进行了保护,使得只有拥有这个机器码的机器才能安装你的软件。
获取硬盘序列号的方法如下(代码)
以驱动器C为例:
  char     m_Volume[256];//卷标名   
  char     m_FileSysName[256];   
  DWORD   m_SerialNum;//序列号   
  DWORD   m_FileNameLength;   
  DWORD   m_FileSysFlag;   
  ::GetVolumeInformation("c:\\",   
  m_Volume,   
  256,   
  &m_SerialNum,   
  &m_FileNameLength,   
  &m_FileSysFlag,   
  m_FileSysName,   
  256);  

  执行该函数后,m_Volume就是卷标名字符串,m_SerialNum就是序列号


一个实例:
	//获取机器码
	char     m_Volume[256];//卷标名   
	char     m_FileSysName[256];   
	DWORD   m_SerialNum;//序列号   
	DWORD   m_FileNameLength;   
	DWORD   m_FileSysFlag;   
	::GetVolumeInformation("c:\\",   
		m_Volume,   
		256,   
		&m_SerialNum,   
		&m_FileNameLength,   
		&m_FileSysFlag,   
		m_FileSysName,   
		256); 
	CString Serial;
	Serial.Format("1%04x",m_SerialNum^ 0x34795814);
	SetDlgItemText(IDC_EDIT_User,Serial);

  偶尔也会用到。保留 一份吧。

免责声明:文章转载自《vc 获取机器码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇高分屏显示模糊修复工具海量用户-高并发SAAS产品测试上线流程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

mini.DataGrid使用说明

√√√ ajaxOptionsObjectajax配置对象。√√√ idFieldString是行数据的唯一字段。设置为“client”之后,客户端将排序√√√√ totalCountNumber记录总数√√√ defaultColumnWidthNumber默认列宽100√√√√ showColumnsBoolean显示标头true√√√√ showPag...

Android 上的 10 款 Web 开发工具推荐

作为一个狂热的Android用户,我一直在寻找适合Web开发人员使用的一些应用程序。以下推荐10款非常实用的Android端的Web开发工具。EditorJoooid1.1Editor这款工具非常适合用来发布包含HTML、文本、图片和相册的文章,还包含了GPL定位信息。...

微信小程序----返回上一页刷新或当前页刷新

1.Reload()方法刷新当前页面;2.replace()方法刷新当前页面;3.页面自动刷新当前页面;实现js刷新当前页面的三种方法使用微信小程序--返回上一页刷新或当前页面刷新1.在实现效果之前,您需要了解微信小应用程序的页面生命周期。如果你不太清楚,你可以看到微信小程序——页面生命周期;2.我们可以知道微信小程序页面由五个循环组成:onLoad、onR...

libffi

Thisislibffi.info,由libffi.texi生产的bymakeinfo版本5.1。本手册适用于libffi,一个可移植的外国函数接口库。版权所有(C)200820102011redhat,股份有限公司。许可授予复制、分发...

VMware虚拟机几个常用文件夹介绍

将在虚拟机系统文件下自动生成三个锁文件。虚拟系统正常关闭后,VMware将解锁,“systemTyep.vmdk.lck”和“systemType.vmem”文件夹将消失。当RAM运行缓慢时,它会将数据从RAM移动到一个称为“分页文件”的空间。...

java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

主要用于西门子PLC的M、Q、I、DB块的数据读写。该组件支持快速建立高性能Modbus TCP终端。对于日志记录,暂时只保留接口。具体来说,您可以为该组件支持的西门子通信实现两种协议。一种是S7协议,它几乎不需要PLC侧的参数配置。另一个是Fetch/Write协议,它有点麻烦。如果S7不方便阅读,您可以选择“获取/写入”。S7更方便。...