c# - 如何找到程序的 IE GUID?

标签 c# internet-explorer

我正在开发 BHO(浏览器辅助对象),以便为 IE 制作插件。

在该程序中,我需要为该程序编写IEGUID。我不知道在哪里可以找到它。

我使用的是 windows7 和 IE 版本 10.0.9200.16540

我现在正在使用这个 GUID

//GUID reference of IF

[
ComVisible(true),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352")
]

我正在关注这些链接 http://www.codeproject.com/Articles/19971/How-to-attach-to-Browser-Helper-Object-BHO-with-C

http://www.codeproject.com/Articles/350432/BHO-Development-using-managed-code

最佳答案

您使用的 GUID 不适用于 IE。它用于接口(interface) IObjectWithSite。 IE的版本应该无关紧要。只要您使用 IObjectWithSite 的 GUID 实现接口(interface),无论您使用哪个版本的 IE 都应该能够使用您的 BHO。

如果要查找此类界面的 GUID,一种快速的方法是扫描注册表。例如,要查找 IObjectWithSite 的 GUID:

C:\Users\kinjal.dixit>reg query HKLM  /s /f IObjectWithSite /d

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FC4801A3-2BA9-11CF-A229-00AA003D7352}
(Default)    REG_SZ    IObjectWithSite

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\Interface\{FC4801A3-2BA9-11CF-A229-00AA003D7352}
(Default)    REG_SZ    IObjectWithSite

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\Interface\{FC4801A3-2BA9-11CF-A229-00AA003D7352}
(Default)    REG_SZ    IObjectWithSite

End of search: 3 match(es) found.

您的输出可能有所不同,但此接口(interface) (IObjectWithSite) 的 GUID 位于 {} 的键中。

command line指定在 HKEY_LOCAL_MACHINE 键 (HKLM) 下以递归方式 (/s) 搜索模式 'IObjectWithSite' (/f),在仅数据 (/d)(即不匹配键或值)。

或者,如果您想找出 GUID 指的是哪个接口(interface),您可以在注册表中搜索键中的该模式并查看数据中的字符串。

关于c# - 如何找到程序的 IE GUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20092901/

相关文章:

internet-explorer - 所有 ie 浏览器 ie11、ie10、ie9 刷新后 Font Awesome 消失

javascript - document.documentElement.msRequestFullscreen() 返回未定义

C# 检查按钮是否被点击

c# - 如何在导出之前格式化 GridView 中的列以在 excel 中显示所有数字?

css - 如果浏览器是 IE,则应用 CSS 规则

html - IE8不显示所有表格边框

c# - 如何调用IE打开本地html文件?

c# - Azure Active Directory创建多个租户

c# - 返回 JSON 对象 (ASP.NET WebAPI)

c# - Entity Framework 代码优先迁移 - 无法删除约束,因为它不存在(从 4.3 到 5.0 的命名约定)