需要在安装的时候修改注册表项,将自己实现的COM插件添加到IE中。下面是个例子。
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\Extensions\{06926B30-424E-4f1c-8EE3-543CD96573DC}" "ButtonText" "登录"
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\Extensions\{06926B30-424E-4f1c-8EE3-543CD96573DC}" "CLSID" "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}"
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\Extensions\{06926B30-424E-4f1c-8EE3-543CD96573DC}" "ClsidExtension" "{95EF1EE5-B170-46CB-A105-9B11A2AAF37A}"
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\Extensions\{06926B30-424E-4f1c-8EE3-543CD96573DC}" "Default Visible" "Yes"
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\Extensions\{06926B30-424E-4f1c-8EE3-543CD96573DC}" "HotIcon" "$INSTDIR\IEMenu.dll,205"
WriteRegStr HKLM "SOFTWARE\Microsoft\Internet Explorer\Extensions\{06926B30-424E-4f1c-8EE3-543CD96573DC}" "Icon" "$INSTDIR\IEMenu.dll,204"
RegDLL "$INSTDIR\IEMenu.dll"
在插件中实现两个接口
STDMETHOD (QueryStatus) (const GUID *pguidCmdGroup,
ULONG cCmds,
OLECMD prgCmds[],
OLECMDTEXT *pCmdText);
STDMETHOD (Exec) (const GUID *pguidCmdGroup,
DWORD nCmdID, DWORD nCmdExecOpt,
VARIANTARG *pvaIn,
VARIANTARG *pvaOut);
用来响应事件。
麻烦把正确答案设为解答。