zoukankan      html  css  js  c++  java
  • 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);
    

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

  • 相关阅读:
    dos
    jsf session的获取和添加
    tomcat多开造成的端口占用
    myeclipse中tomcat7内存大小的设置
    中文传值乱码过滤
    java定时器
    jsf中jstl标签<c:forEach/>打印信息
    python基础python函数any()与all()的区别
    C# GetManifestResourceStream获取资源为null
    Linux kill 9 和 kill 15 的区别
  • 原文地址:https://www.cnblogs.com/tk091/p/2548396.html
Copyright © 2011-2022 走看看