• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

IE工具栏编程问题?

leech42 2002-04-06 08:49:42
我想要实现的功能就是像在FrontPage2000安装后,会在IE浏览器的工具栏上加入一个工具图标,在浏览页面的时候可以随时点击工具按钮对当前页面进行编辑,在这里页面的代码是通过什么方式传递给FrontPage2000的呀!
...全文
45 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leech42 2002-04-06
我的意思是怎样把当前IE页面的地址传到程序中,或者是页面代码
回复
mickeyfirst 2002-04-06
GUIDGEN.exe是VC IDE中自带的工具,在VC的安装目录下COMMON/TOOLS中找到,也可以不用{06926B30-424E-4f1c-8EE3-543CD96573DC},但用了比较好些,具体的理论看看关于COM的书。

///这是由GUIDGEN产生的GUID:{06926B30-424E-4f1c-8EE3-543CD96573DC}
CRegKey reg;
char KeyName[]="Software\\Microsoft\\Internet Explorer\\Extensions\\{06926B30-424E-4f1c-8EE3-543CD96573DC}";
TCHAR PathName[MAX_PATH];
TCHAR IconPathName[MAX_PATH]; ///正常时的图标全路径
TCHAR HotIconPathName[MAX_PATH]; ///鼠标覆盖时的图标全路径
GetModuleFileName(0,PathName,MAX_PATH); ///得到本可执行文件的路径
strcpy(IconPathName,PathName);
strcpy(HotIconPathName,PathName);
strcat(HotIconPathName,",131"); ///131是图标的ID,你可以以资源方式打开EXE文件就可以看到所有资源及其ID
strcat(IconPathName,",129");
reg.Create(HKEY_LOCAL_MACHINE,KeyName);
reg.SetValue("{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}","CLSID");
reg.SetValue("Yes","Default Visible");
reg.SetValue("CSDN","ButtonText");
reg.SetValue(IconPathName,"Icon");
reg.SetValue(HotIconPathName,"HotIcon");
/////假如是执行脚本,可以是reg.SetValue("c:\\test.html","Script"); ///在test.html 存放你的脚本代码<br>
reg.SetValue("http://www.csdn.net/","Exec");///打开网页

回复
wxjh 2002-04-06
进行注册表编程,在explorer下添加关联键值
回复
Ago23 2002-04-06
http://www.vckbase.com/vckbase/vckbase9/vc/nonctrls/iepro_19/0919001.htm
回复
anjy 2002-04-06
本文解释如何在 Microsoft Internet Explorer 的用户界面上添加工具条按钮。工具条按钮可以运行 Win32 应用程序、运行脚本或打开浏览器栏。注意:默认情况下,自定义工具条按钮不出现在 Internet Explorer 的工具条上。这些按钮将出现在“定制工具条”对话框的左侧。

  如果你想向 Internet Explorer 中添加工具条按钮,就应该熟悉注册表和全局唯一标识符 (GUID)。

  此功能只在 Internet Explorer 5 以上版本中有效。Internet Explorer 4.0 允许你添加自定义浏览器栏,但没有任何方法能添加工具条按钮来访问你的浏览器栏。

  工具条按钮需要两组图标:一组激活状态下的 (彩色的) 和一组默认状态下的 (灰度的)。这些图标可以保存在两个 .ico 文件里或保存在资源 (像 .dll 或 .exe 文件) 里。

实现步骤
  向 Internet Explorer 的用户界面中添加工具条按钮时,必须完成本节描述的所有步骤。如果漏掉某些步骤,工具条按钮就不会显示出来。

  通过以“路径,resource_id”格式所指定的资源的路径和引用标志,我们可以引用保存在资源中的图标和字符串。例如,如果你想引用 Example.dll 中的字符串资源123,可以使用 "Example.dll, 123"。

  注意:本文描述了如何为所有用户添加工具条按钮。如果你希望为单个用户添加工具条按钮,可以把下列步骤中的 HKEY_LOCAL_MACHINE 换成 HKEY_CURRENT_USER。

  1. 创建合法的全局唯一标志符 (GUID)。你可以使用 Guidgen.exe (在 Microsoft Visual Studio 里提供) 或 Uuidgen.exe (在 Microsoft 平台开发工具包 [Platform SDK] 里提供)。

  2. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions

  以刚才创建的 GUID 为键名创建新键,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  <Your GUID> 时你在第一步创建的合法 GUID。

  3. 可选。 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,Default Visible,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\Default Visible

  如果需要使工具条按钮在 Internet Explorer 的工具条上默认可见,将 Default Visible 设置为 "Yes",否则设置为 "No"。

  注意:如果用户定制了工具条,按钮不会自动出现在工具条上。此按钮会在“定制工具条”对话框中出现以供用户选择,并在重置工具条后显示出来。

  4. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,ButtonText,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\ButtonText

  将 ButtonText 的值设置为你的工具条按钮所需的标题。

  5. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,HotIcon,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\HotIcon

  将 HotIcon 的值设置为包含三个彩色图标的 .ico 文件的全路径。

  6. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,Icon,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\Icon

  将 HotIcon 的值设置为包含三个灰度图标的 .ico 文件的全路径。

  7. 可选。提供多语言支持 (像法语或日语)。完成以下步骤支持不同语言:

  A. 确定你需要支持的语言的 LCID。此值可以在 Microsoft 平台开发工具包 (Platform SDK) 里找到。

  B. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建新键,Lang####,"####" 是在前一步里确定的 LCID,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\Lang####

  例如,对于日语版而言,日语的 LCID 值为 0411,所以键名应为 Lang0411。

添加细节
  在最初的步骤里我们创建了注册表项,现在我们需要在它们下面添加键值。你需要添加的键值和随后的其他步骤由工具条按钮要执行的动作决定。以下按工具条按钮的动作列出了完成按钮所需的其余步骤:COM 对象、浏览器栏、脚本、可执行文件。

  一、COM 对象

  以下为创建运行 COM 对象的工具条按钮所必需的步骤。如果忽略了其中的任何一步(非可选步骤),工具条按钮就不会显示出来。

  注意:本文描述了如何为所有用户添加工具条按钮。如果你希望为单个用户添加工具条按钮,可以把下列步骤中的 HKEY_LOCAL_MACHINE 换成 HKEY_CURRENT_USER。

  1. 注册 COM 对象。

  2. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,CLSID,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\CLSID

  将 CLSID 的值设置为 {1FBA04EE-3024-11d2-8F1F-0000F87ABD16}。

  3. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,ClsidExtension,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\ClsidExtension

  将 ClsidExtension 的值设置为 COM 对象的 GUID。

  除以上步骤外,COM 对象还必须实现 IOleCommandTarget。 如果你的 COM 对象需要访问 Internet Explorer 显示的页面中的 DHTML 对象模型,你必须实现 IObjectWithSite。

  除了 IOleCommandTarget::Exec 之外,所实现的 IOleCommandTarget 的方法都是标准的。当工具条按钮被点击时,COM 对象的 IOleCommandTarget::Exec 方法被调用,此时 nCmdID 的值为 1;当菜单项被点击时,CmdID 的值为 2。这样开发者就能区分工具条按钮和菜单项这两个不同操作。

  实现 IObjectWithSite 后,Internet Explorer 会调用 IObjectWithSite::SetSite,并且传递给它一个指向 IShellBrowser 的指针。

  二、浏览器栏

  以下为创建打开一个浏览器栏的工具条按钮所必需的步骤。如果忽略了其中的任何一步(非可选步骤),工具条按钮就不会显示出来。

  注意:本文描述了如何为所有用户添加工具条按钮。如果你希望为单个用户添加工具条按钮,可以把下列步骤中的 HKEY_LOCAL_MACHINE 换成 HKEY_CURRENT_USER。

  1. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,CLSID,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\CLSID

  将 CLSID 的值设置为 {E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16}。

  2. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,BandCLSID,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\BandCLSID

  将 BandCLSID 的值设置为你希望打开的浏览器栏的 CLSID。

  注意:所有浏览器栏自动向“查看”菜单中添加一个菜单项。

  三、脚本

  以下为创建运行一个脚本的工具条按钮所必需的步骤。如果忽略了其中的任何一步(非可选步骤),工具条按钮就不会显示出来。

  注意:本文描述了如何为所有用户添加工具条按钮。如果你希望为单个用户添加工具条按钮,可以把下列步骤中的 HKEY_LOCAL_MACHINE 换成 HKEY_CURRENT_USER。

  1. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,CLSID,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\CLSID

  将 CLSID 的值设置为 {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。

  2. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,Script,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\Script

  将 Script 的值设置为要运行的脚本的全路径。

  四、可执行文件

  以下为创建运行可执行文件的工具条按钮所必需的步骤。如果忽略了其中的任何一步(非可选步骤),工具条按钮就不会显示出来。

  注意:本文描述了如何为所有用户添加工具条按钮。如果你希望为单个用户添加工具条按钮,可以把下列步骤中的 HKEY_LOCAL_MACHINE 换成 HKEY_CURRENT_USER。

  1. 在注册表的以下位置:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>

  创建字符串值,CLSID,结果类似于:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\CLSID

  将 CLSID 的值设置为 {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。

  2.
回复
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-04-06 08:49
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……