导航:  CWebBrowser Class > DocHostUIHandler Events >

GetOptionKeyPath

上一页返回章节概述下一页

描述

 

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的注册表设置.

GetOptionKeyPathGetOverrideKeyPath提供一个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