如何编写垂直右侧IE浏览器栏

时间:2009-01-18 03:40:43

标签: c++ windows internet-explorer winapi browser

我之前写过探险家酒吧(乐队对象), AFAIK垂直资源管理器栏只能在左侧。然而,当我看到惠普的这个探测器栏位于右侧时,我感到非常惊讶:

A vertical explorer bar on the right hand side

我搜索谷歌了一下,我找不到任何资源。有谁知道如何构建一个垂直的右侧浏览器栏

3 个答案:

答案 0 :(得分:1)

我一直在深入研究Kutano的右侧律师是如何工作的,因为我想做同样的事情。这并没有直接帮助你提问,因为我还没有答案,但这就是我所知道的:

Kutano似乎不是一个普通的资源管理器栏,因为HKCR\Software\Microsoft\Internet Explorer\Explorer Bars中没有条目,也没有出现在View|Explorer Bar菜单中。

注册表中引用Kutano侧边栏DLL的以下条目:

HKCR\AppID\{6D6036C6-692F-4211-903B-943D94E1CCC3}
  kutano_ie_client

HKCR\CLSID\{18D81A5F-F8A5-4B78-A6CC-7E37DCAFC0BB}
  Kutano Add-on
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{2AE98FD7-4E58-4400-8113-B5018ED48676}
  Kutano Sidebar
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{2F698BD8-48CD-45B4-ACDF-67F92082EE7E}
  MenuItem
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{A5B02961-E212-4195-A77D-6E1346C2DE18}
  kutanoSidebarExtInterface Class
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{E163FD8B-2ADD-4F2E-86E8-7678D008ED43}
  KutanoToolbarBtn Class
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\TypeLib\{24DA2415-9F99-403F-801B-A74AE4101C27}
  kutano_ie_client 1.0 Type Library

HKLM\Software\Classes\AppID\kutano_ie_client.DLL
  AppID {6D6036C6-692F-4211-903B-943D94E1CCC3}

其中一些比其他人更明显。

使用Spy ++进行深入研究似乎在窗口层次结构中添加了一个额外的Shell DocObject视图:

TabWindowClass
  ATL:63CB39A0
    Kutano_SplitterWindow
      AtlAxWin90
        Shell Embedding
          Shell DocObject View
            Internet Explorer_Server

它确实保留原件并且似乎继续使用它:

TabWindowClass
  Shell DocObject View
    Internet Explorer_Server

这似乎与您的HP示例有所不同,涉及更多,但希望它可能会收集一些信息到同一目的。我在MSDN Internet Explorer扩展开发论坛上有一个thread

答案 1 :(得分:0)

没有实际创建一个..我只能假设HP查询IDockingWindow的食物链,有时在调用setite之后。这可能允许IDockingWindow :: RequestBorderSpaceDW分配右侧的docksite。

IDeskBand Interface
   |
    -- IDockingWindow
        |
        --IOleWindow
find IDockingWindowSite
or   IOleInPlaceUIWindow::SetBorderSpace
from the browser window.

EDIT : from the browser document.

-

迈克尔

答案 2 :(得分:0)

我过去曾玩过探险家酒吧,右边停靠不是一个选择。这样做的开发人员可能会强制执行:将HWND注入正确的位置,然后调整其他窗口的大小。

我认为他们也有可能依赖于从未暴露过的互联网浏览器的一些潜在特征......

我不知道为什么微软似乎不允许使用这种类型的资源管理器,但是如果你想要在右边停靠某些东西,看起来你将不得不入侵它。