修改注册表,实现屏蔽IE右键功能

屏蔽IE右键的方法:只需将这册表中:Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions项中的NoBrowserContextMenu设置为1
HKEY  hk;   
    if  (RegCreateKey(HKEY_CURRENT_USER,  "Software\\Policies\\Microsoft\\Internet Explorer",  &hk))   
           ::MessageBox(NULL,  "Could  not  create  the  registry  key.",  "",  MB_OK);   

 
    if  (RegCreateKey(HKEY_CURRENT_USER,  "Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions",  &hk))   
           ::MessageBox(NULL,  "Could  not  create  the  registry  key.",  "",  MB_OK);   
    RegCloseKey(hk); 

 RootKey=HKEY_CURRENT_USER;     //注册表主键名称
 SubKey="Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions";  //欲打开注册表值的地址
 ValueName="NoBrowserContextMenu";               //欲设置值的名称
 SetContent_D[0]=1;             //值的内容

 if((SetValue_D(RootKey,SubKey,ValueName,SetContent_D))!=0)
  AfxMessageBox("操作失败!");

其中int SetValue_D (struct HKEY__*ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName,int ReSetContent_D[256])是设置DWORD值函数:
SetValue_D (struct HKEY__*ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName,int ReSetContent_D[256])
{
 int i=0; //操作结果:0==succeed
 if(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS)
 {
  if(RegSetValueEx(hKey,ReValueName,NULL,REG_DWORD,(const unsigned char *)ReSetContent_D,4)!=ERROR_SUCCESS)
  {
   AfxMessageBox("错误:无法设置有关的注册表信息");
   i=1;
  }
  RegCloseKey(hKey);
 }
 else
 {
  AfxMessageBox("错误:无法查询有关的注册表信息");
  i=1;
 }
 return i;
}

posted on 2005-01-20 01:25  lazyman  阅读(2291)  评论(0编辑  收藏  举报

导航