我用BHO写了一个IE插件,当IE浏览网页时完成指定功能。
现在我想在IE工具栏添加一个按钮(就是一个开关),控制这个IE插件的运行。当开关打开时,IE插件的功能正常运行;当开关关闭时,IE插件的功能不运行。
在IE插件部分的源码中,我可以设定一个判定值来控制是否执行指定功能。
但我不太清楚怎么和IE工具栏上的那个按钮关联起来?怎么添加这个按钮?当我改变开关状态时,插件里的判定值也会相应改变?
我知道目前一些自定义的IE工具栏按钮,如qq,msn什么的,当点击这些按钮的时候是执行某个程序或连接到某个网址。和我这里说的情况不一样。
怎么实现这个功能啊?
高分求救!!
现在我想在IE工具栏添加一个按钮(就是一个开关),控制这个IE插件的运行。当开关打开时,IE插件的功能正常运行;当开关关闭时,IE插件的功能不运行。
在IE插件部分的源码中,我可以设定一个判定值来控制是否执行指定功能。
但我不太清楚怎么和IE工具栏上的那个按钮关联起来?怎么添加这个按钮?当我改变开关状态时,插件里的判定值也会相应改变?
我知道目前一些自定义的IE工具栏按钮,如qq,msn什么的,当点击这些按钮的时候是执行某个程序或连接到某个网址。和我这里说的情况不一样。
怎么实现这个功能啊?
高分求救!!
解决方案 »
- MultiByteToWideChar字符串转换问题
- 怎么给listCtrl发送NM_CUSTOMDRAW消息?
- 刷新时内存增长
- CHtmlView的链接拖拉问题,请各位帮帮忙!!!
- 大家帮帮我,关于如何让程序自动截获unhandle exception
- 请问,为什么我在一个vc的例子中下断点,总是一下就跳到汇编码?而且断点也变成白色,谢谢!
- 前辈们看看我的第一个VC代码,有一事不明,请指教!
- 视频图像处理项目诚招合作伙伴!
- vs2008 CRT 的异常处理导致SetUnhandledExceptionFilter失效
- 我需要一个QBASIC,请问谁有,给我一个,谢谢。[email protected]
- 如何在一个自定义的控件上放一个WEB控件
- 关于WTL消息反射的问题
我这里用BHO编写了IE插件,其中有:
class ATL_NO_VTABLE CIEPLG:
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CIEPlg, &CLSID_IEPlg>,
public IObjectWithSiteImpl<CIEPlg>,
public IDispatchImple<IIEPlg, &IID_IIEPlg, &LIBID_BHOTestLib,1,0>这个插件的功能是在CIEPlg::Invoke()中,根据不同的IE事件完成不同功能。现在我的代码是当出现DOCUMENTCOMPLETE事件时(DISPID_DOCUMENTCOMPLETE),我把正在浏览的网页保存下来。
这样我实现功能的代码主要在Invoke函数中,这样似乎不能通过上述链接提到的用exec执行指定函数的方法将IE工具栏按钮和这个dll关联起来(因为DOCUMENTCOMPLETE事件是IE浏览网页是自动触发的。)
我现在就是希望我在保存网页时,能有个判断,看IE工具栏按钮的当前状态是开或关,确定是否需要保存该网页。
望指教!
接收DOCUMENTCOMPLETE事件时候,判断下