服務器IE添加IP信任列表

 

  1. //引用網上的一篇文章進行的修改 ,2003的所在註冊表位置和其他的系統位置不同 
  2. //hkey 是註冊表主鍵,如HKEY_LOCAL_MACHINE,szUrl爲IP地址(原文中有域名的添加方法,這裏去掉了) 
  3. BOOL VengFuncConfig::SetTrustfulUrl(HKEY hKey, TCHAR *szUrl, DWORD dwType,BOOL IsWindow2003) 
  4.     HKEY hkResult; 
  5.     int rc = 0; 
  6.     TCHAR szProtocol[MAX_PATH] = {0}; 
  7.     TCHAR szRegPath[MAX_PATH] = {0}; 
  8.  
  9.     lstrcpy(szProtocol, _T("*")); 
  10.     //lstrcpy(szProtocol, _T("http")); 
  11.  
  12.     CString cQueryIERegName = (IsWindow2003?_T("EscRanges"):_T("Ranges")); 
  13.  
  14.     //判斷是IP還是域名 
  15.     //IP類站點添加 
  16.  
  17.     DWORD dwKeys = 0; 
  18.  
  19.     wsprintf(szRegPath, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\%s"),cQueryIERegName); 
  20.  
  21.     rc = RegCreateKey(hKey, szRegPath, &hkResult); 
  22.     //先獲取該key下有多少個項 
  23.     rc = RegQueryInfoKey(hkResult, NULL, NULL, NULL, &dwKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL); 
  24.  
  25.     RegCloseKey(hkResult); 
  26.     hkResult = NULL; 
  27.  
  28.     if (rc != ERROR_SUCCESS) 
  29.     { 
  30.         return FALSE; 
  31.     } 
  32.     else 
  33.     {    
  34.         //查詢當前的遠程服務器IP是否加入了IE的受信任列表中 
  35.         wsprintf(szRegPath, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\%s\\Range%d"),cQueryIERegName ,dwKeys+10 -1); 
  36.  
  37.         CString cHostIP = ReadCfg(_T(":Range"),szRegPath); 
  38.         if ( !cHostIP.CompareNoCase(szUrl) ) 
  39.         { 
  40.             return FALSE; 
  41.         } 
  42.  
  43.         wsprintf(szRegPath, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\%s\\Range%d"),cQueryIERegName, dwKeys+10); 
  44.         rc = RegCreateKey(hKey, szRegPath, &hkResult); 
  45.         //必須要先創建DWORD值,再創建字符串值,否則不能在Internet選項中信任站點列表中顯示 
  46.         RegSetValueEx(hkResult, szProtocol, NULL, REG_DWORD, (BYTE *)&dwType, sizeof(DWORD)); 
  47.  
  48.  
  49.         RegSetValueEx(hkResult, _T(":Range"), NULL, REG_SZ,  (LPBYTE)szUrl,  (lstrlen(szUrl)+1)*sizeof(TCHAR)); 
  50.  
  51.         RegCloseKey(hkResult); 
  52.  
  53.         //使註冊表修改立即生效 
  54.         //SystemParametersInfo(SPI_SETCURSORS,0,NULL,SPIF_SENDCHANGE || SPIF_UPDATEINIFILE); 
  55.         SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);     
  56.  
  57.         hkResult = NULL; 
  58.     } 
  59.  
  60.     return TRUE; 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章