我正在试图弄清楚如何使用它。我想在Zone3 1803中设置一个从0到3的值。似乎没有任何文档。这个C ++ Win7和IE9。
HRESULT SetZoneActionPolicy(
[in] DWORD dwZone,
[in] DWORD dwAction,
[in] BYTE *pPolicy,
[in] DWORD cbPolicy,
[in] URLZONEREG urlZoneReg
);
基本上,我正在使用RegOpenKey
和RegSetValueEX()
,但问题是我必须重新启动资源管理器才能看到更改。所以我加了这个。
SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)_T("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3"));
仍然没有工作,所以被告知要使用iinetZoneManger
答案 0 :(得分:0)
这将完成这项工作:
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);