操作系统:Windows XP
目的:将注册表解锁
存在问题:不能解锁
#include "windows.h"
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow) 
{ long int i,rc;
  const unsigned char data=0x00000000;
  HKEY result;
  MessageBox(0,"你将进行一项有关注册表的危险操作,请认真考虑...","Warning...",MB_ICONASTERISK);
  rc=RegOpenKeyEx(HKEY_USERS,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\system",0,KEY_ALL_ACCESS|KEY_WRITE|KEY_SET_VALUE,&result);
  if(rc==ERROR_SUCCESS)
 {i=RegSetValueEx(result,"disableregistrytools",0,REG_DWORD,&data,4);
      if(i==ERROR_SUCCESS)  MessageBox(NULL,"successfully unlocked regesiter!","check.....",MB_ICONINFORMATION);
      else MessageBox(0,"fail to unlock register!","error.....",MB_ICONINFORMATION);
 }
  else  MessageBox(0,"fail to open register!","error.....",MB_ICONINFORMATION);
  return 0;
 }

解决方案 »

  1.   

    我以前写过的一个操作注册表的模块:
    http://blog.csdn.net/goodname008/archive/2004/07/12/39451.aspx也写过一个软件,就是用的这个模块,可以实现加锁和解锁。
      

  2.   

    VB写的规则与VC++的规则不同,太烦了。
      谁能帮忙指点
      

  3.   

    1.查查相关资料,看disableregistrytools类型是否为DWORD类型。
    2.运行程序后,重启一次系统看看。
      

  4.   

    disableregistrytools类型是REG_DWORD类型的;