贴一段ce下操作注册表的代码

贴一段ce下操作注册表的代码 代码
 1  HKEY hSoftKey  =  NULL;
 2      DWORD dw;
 3       if  (RegOpenKeyEx(HKEY_CURRENT_USER, _T( " Software\\mysoft " ),  0 , KEY_WRITE | KEY_READ, & hSoftKey)  !=  ERROR_SUCCESS){
 4          hSoftKey  =  NULL;
 5           if  (RegCreateKeyEx(HKEY_CURRENT_USER,_T( " Software\\mysoft " ), 0 ,REG_NONE,REG_OPTION_NON_VOLATILE,KEY_WRITE | KEY_READ,NULL, & hSoftKey, & dw)  !=  ERROR_SUCCESS){
 6              AfxMessageBox(L " 写注册表失败 " );
 7               if  (hSoftKey  !=  NULL)
 8              {
 9                  RegCloseKey(hSoftKey);
10              }  
11               return  FALSE;
12          }
13      }
14      wchar_t ucode[MAX_PATH];
15      DWORD dwType  =  REG_SZ;
16      DWORD dwSize; 
17      WCHAR tmpKeyCode[ 17 =  { 0 };
18       if ( RegQueryValueEx(hSoftKey , L " UCODE "  , NULL ,  & dwType , (LPBYTE)ucode ,  & dwSize)  ==  ERROR_SUCCESS ){
19           int  curUcodeLen  =  wcslen(ucode) ;
20           for int  i  =   0  ; i  <   16  ; i ++  ){
21               if (i >= curUcodeLen){
22                   break ;
23              }
24              tmpKeyCode[i]  =  ucode[i];
25          }
26      } else {
27           for int  i  =   0  ; i  <   16  ; i ++  ){
28              tmpKeyCode[i]  =  code[ rand() % 15  ];
29          }
30           if ( RegSetValueEx(hSoftKey, L " UCODE " , 0 ,dwType, (LPBYTE)tmpKeyCode , (wcslen(tmpKeyCode)  +   1 ) * sizeof (WCHAR) )  !=  ERROR_SUCCESS ){
31              AfxMessageBox(L " 写注册表数值失败 " );
32               if  (hSoftKey  !=  NULL)
33              {
34                  RegCloseKey(hSoftKey);
35              }  
36               return  FALSE;
37          }
38      }
39       if  (hSoftKey  !=  NULL)
40      {
41          RegCloseKey(hSoftKey);
42      }   

 

你可能感兴趣的:(注册表)