Internet explorer 设置区域操作策略

Internet explorer 设置区域操作策略,internet-explorer,visual-c++,windows-7,Internet Explorer,Visual C++,Windows 7,我在想怎么用这个。我想在Zone3 1803中将值从0设置为3。那里似乎没有任何文档。这个C++ +Wi7和IE9. HRESULT SetZoneActionPolicy( [in] DWORD dwZone, [in] DWORD dwAction, [in] BYTE *pPolicy, [in] DWORD cbPolicy, [in] URLZONEREG urlZoneReg ); 基本上,我使用的是RegOpenKey和RegSetValueEX()

我在想怎么用这个。我想在Zone3 1803中将值从0设置为3。那里似乎没有任何文档。这个C++ +Wi7和IE9.
HRESULT SetZoneActionPolicy(
  [in]  DWORD dwZone,
  [in]  DWORD dwAction,
  [in]  BYTE *pPolicy,
  [in]  DWORD cbPolicy,
  [in]  URLZONEREG urlZoneReg
);
基本上,我使用的是
RegOpenKey
RegSetValueEX()
,但问题是我必须重新启动explorer才能看到更改。所以我加了这个

SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)_T("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3")); 
仍然不起作用,因此被告知使用IINetZoneManager这将完成工作:

    HRESULT hr;
    IInternetZoneManager *pZoneMgr;

    hr = CoCreateInstance(CLSID_InternetZoneManager, NULL, CLSCTX_INPROC_SERVER,
        IID_IInternetZoneManager, (void**)&pZoneMgr);

    //https://msdn.microsoft.com/en-us/ie/ms537179(v=vs.94)
    int policy = URLPOLICY_ALLOW;

    //http://distcomp.ru/www/vladimirv/inetsdk/inet0287.htm
    hr = pZoneMgr->SetZoneActionPolicy(URLZONE_INTERNET, URLACTION_SCRIPT_RUN, (BYTE*)&policy, sizeof(policy), URLZONEREG_HKCU);

我试过了…但问题是explorer没有重新确认更改,我被告知使用iinternetZoneManager。但似乎找不到太多。好吧,我试着在代码中粘贴,但它不适合。基本上,我使用的是RegOpenKey和RegSetValueEX(),但问题是我必须重新启动explorer才能看到更改。所以我加了这个。SendNotifyMessage(HWND_广播,WM_设置更改,0,(LPRAM)_T(“HKEY_当前用户\\软件\\Microsoft\\Windows\\CurrentVersion\\Internet设置\\区域\\3”);仍然不起作用,所以被告知使用IINetZoneManager。我在中添加了这一点。希望这能让问题再次出现在名单上,并引起能回答问题的人的注意。(事实上,我在这方面没有专业知识,但有时会尝试通过编辑来帮助改进问题。顺便问一下,为什么必须重新启动IE是一个问题?这可能会帮助潜在的回答者找到合适的解决方案。无法重新启动,因为员工将出现在页面上,并且代码会根据网页运行以更改设置。谢谢。我正在尝试使用iinternetZoneManager,但找不到任何有用的信息。我仍然认为您需要添加更多信息,以便有人帮助您。我当然不能。请从您使用iinternetZoneManager所做的事情开始,并说明为什么它不起作用。