HKEY key;
CString sKeyPath;
sKeyPath="Software//SoftTryTimeTest";
if(RegOpenKey(HKEY_CURRENT_USER,sKeyPath,&key)!=0
&& RegOpenKey(HKEY_CURRENT_USER,sKeyPath,&key)!=ERROR_SUCCESS
) //首次使用
{
//在註冊表中記錄已使用的次數
::RegCreateKey (HKEY_CURRENT_USER,sKeyPath,&key);
::RegSetValueEx (key,"Try time",0,REG_SZ,(unsigned char *)"5",2);
::RegCloseKey (key);
MessageBox("你只能使用5次","系統提示",MB_OK|MB_ICONEXCLAMATION);
}
else //已經存在註冊表資訊
{
CString sTryTime;
int nTryTime;
LPBYTE Data=new BYTE[80];
DWORD TYPE=REG_SZ;
DWORD cbData=80;
//取出已經使用次數
::RegQueryValueEx (key,"Try time",0,&TYPE,Data,&cbData);
sTryTime.Format ("%s",Data);
nTryTime=atoi(sTryTime);
if(nTryTime <1)
{
MessageBox("最大試用次數已過","系統提示",MB_OK|MB_ICONSTOP);
return false;
}
nTryTime--;
sTryTime.Format ("%d",nTryTime);
::RegSetValueEx (key,"Try time"
,0,REG_SZ
,(unsigned char *)sTryTime.GetBuffer (sTryTime.GetLength ())
,2);
::RegCloseKey (key);
MessageBox("你還可以試用"+sTryTime+"次!","系統提示",MB_OK|MB_ICONEXCLAMATION);
}