【ATL】注册插件成功后自动设置浏览器允许弹出窗口注册表

2023-07-10,,

STDAPI DllInstall(BOOL bInstall, LPCWSTR pszCmdLine)
{
HRESULT hr = E_FAIL; static const wchar_t szUserSwitch[] = L"user"; if(pszCmdLine != NULL)
{
if(_wcsnicmp(pszCmdLine,szUserSwitch,_countof(szUserSwitch)) == 0)
ATL::AtlSetPerUserRegistration(true);
} if(bInstall)
{
hr = DllRegisterServer();
if(FAILED(hr))
DllUnregisterServer(); // 操作注册表(允许阻止的浏览器弹出窗口
HKEY hKEY;
LPBYTE path_Get = new BYTE[256];
DWORD type = REG_BINARY;
DWORD dwBytes = 254; LPSTR data_set = "Software\\Microsoft\\Internet Explorer\\New Windows\\Allow"; if(::RegOpenKeyExA(HKEY_CURRENT_USER,data_set,NULL,KEY_READ,&hKEY) == ERROR_SUCCESS)
{
if(::RegQueryValueExA(hKEY,"要设置的域名",NULL,&type,path_Get,&dwBytes) != ERROR_SUCCESS)
{
LPBYTE mContent = new BYTE[2];
mContent[0] = 0x00;
mContent[1] = 0x00; CRegKey key;
key.Create(L"Software\\Microsoft\\Internet Explorer\\New Windows\\Allow");
key.SetBinaryValue(L"要设置的域名",mContent,2); key.Close();
}
} ::RegCloseKey(hKEY); ::MessageBoxA(NULL,"您可以正常使用ActiveX插件功能","插件安装成功",MB_OK | MB_ICONINFORMATION);
}
else
hr = DllUnregisterServer(); return hr;
}

  

【ATL】注册插件成功后自动设置浏览器允许弹出窗口注册表的相关教程结束。

《【ATL】注册插件成功后自动设置浏览器允许弹出窗口注册表.doc》

下载本文的Word格式文档,以方便收藏与打印。