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);

  偶爾也會用到。保留 一份吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM