描述
由WebBrowser Control调用以检索注册表子键的路径,默认的微软Internet Explorer的注册表设置.
PowerBASIC Syntax
FUNCTION GetOptionKeyPath ( _ BYVAL hwndContainer AS HWND, _ BYVAL pchKey AS LPOLESTR PTR, _ BYVAL dw AS DWORD _ ) AS HRESULT |
参数
hwndContainer |
[in]处理的OLE容器窗口. |
pchKey |
[out]指针指向一个LPOLESTR接收注册表子项的字符串存储的主机的注册表设置. |
dw |
[in]保留.必须设置NULL. |
返回值
返回S_OK如果成功,或错误值,否则.
备注
一个WebBrowser Control实例调用主机上的GetOptionKeyPath初始化时使宿主可以指定一个包含设置重写默认的Internet Explorer注册表设置注册表位置.如果主机返回S_FALSE这方法,或如果注册表项路径返回WebBrowser控件在pchKey是NULL或空的WebBrowser Control恢复为默认的Internet Explorer的注册表设置.
GetOptionKeyPath和GetOverrideKeyPath提供一个WebBrowser Control主机注册表中的设置更改为WebBrowser Control两交替机制.与GetOptionKeyPath,一WebBrowser Control实例默认其原设置在注册表更改的方法中指定的注册表路径的应用.与GetOptionKeyPath,一WebBrowser Control实例保存当前用户的注册表设置.注册表修改位于注册表路径指定该方法重写那些位于hkey_current_user /软件/微软/ Internet Explorer.
例如,假设用户已将Internet Explorer默认文本大小更改为最大字体.实施GetOverrideKeyPath保留变化与# 8212;除非大?恢匦?位于由GetOptionKeyPath执行指定的注册表路径的注册表设置.实施GetOptionKeyPath不会保存用户的文本大小的变化.相反,该WebBrowser Control默认回到原来的字体在应用中的GetOptionKeyPath执行指定的注册表路径的注册表设置.
GetOptionKeyPath的实现必须以CoTaskMemAlloc pchKey分配内存.(这WebBrowser Control负责释放该内存使用CoTaskMemFree).即使这种方法是未实现的,该参数应设置为NULL.
关键的方法必须指定子项的HKEY_CURRENT_USER关键.
示例
这个例子点WebBrowser Control到注册表项位于hkey_current_user /软件/公司/应用Internet Explorer注册表覆盖.当然,你需要设置注册表键在这个位置在注册表中的WebBrowser Control使用它们.
HRESULT CBrowserHost::GetOptionKeyPath(LPOLESTR *pchKey, DWORD dwReserved)
{
HRESULT hr;
WCHAR* szKey = L"Software\\MyCompany\\MyApp";
// cbLength is the length of szKey in bytes.
size_t cbLength;
hr = StringCbLengthW(szKey, 1280, &cbLength);
// TODO: Add error handling code here.
if (pchKey)
{
*pchKey = (LPOLESTR)CoTaskMemAlloc(cbLength + sizeof(WCHAR));
if (*pchKey)
hr = StringCbCopyW(*pchKey, cbLength + sizeof(WCHAR), szKey);
}
else
hr = E_INVALIDARG;
return hr;
}
引用文件
CDocHostUIHandlerImpl.inc