我很想知道:
1。金山词霸是怎样在IE和Word中嵌入工具条的?
2。象3721之类的控件是怎样检测你计算机是否已安装了某控件,并自动安装的?我想解决这样的问题:因为我做的一个B/S的项目,客户可能要在Browse端打印查询结果,可IE的打印查询的表格时,总特丑陋,不能做到真正的“所见即所得”,因此我想象金山词霸一样的,在IE中插入一个工具条,点击它的时候能将当前的页面用Word打开,然后用户可以在Word中调整打印的效果或排版,再打印。要求能象3721一样,没有用户机器上没有安装该控件,就从指定的网址下载该控件并自动安装。我知道(1)是在注册表中加入了一些信息来实现添加的(我以前用regedit查找功能找到过,不过也许找出来的会有一些多余的信息,不知道哪些信息是必需的)

解决方案 »

  1.   

    Shell编程和COM接口~
    我就知道这些~
      

  2.   

    主要是调用了微软提供的相关com接口,上网一搜罗可找到很多这方面的资料。
      

  3.   

    主要是shell api的应用,这方面技术网上确实很多
      

  4.   

    www.codeproject.com
    www.codeguru.com
    之类。
    WWW.VCKBASE.COM
      

  5.   

    IE的工具条是通过修改注册表来得到的,
    在注册表的IE的子键下添加一个子键,然后再添齐它的属性,
    有可执行文件的路径,及是/否处于选择状态的图标,
    具体方法可以参考其它子键的设置方法,
    如金山毒霸及FLASHGET的设置方法,
    它们都是通过修改注册表而达成目的的
      

  6.   

    关于IE中嵌入的源代码很多,网上去搜一搜!
    http://www.vckbase.com/
    http://www.vchelp.net/
      

  7.   

    http://www.codeproject.com/shell/#IE%20Programming
      

  8.   

    实现IOleCommandTarget,参考
    http://tech.ccidnet.com/tech/web/2001/02/08/58_1638.html
      

  9.   

    void CIEButtonDlg::OnAdd() 
    {
    ///这是由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("VC知识库","ButtonText");
    reg.SetValue(IconPathName,"Icon");
    reg.SetValue(HotIconPathName,"HotIcon");
    /////假如是执行脚本,可以是reg.SetValue("c:\\test.html","Script"); ///在test.html 存放你的脚本代码<br>
    reg.SetValue("http://www.vckbase.com/","Exec");///打开网页 
    }
      

  10.   

    hehe 我装了这些后都把那些按钮去掉,把不用的也都去掉,花俏又浪费资源!!!!!!!!!!!!!!!!!!!!
      

  11.   

    为什么大家都特别热中于解决问题1.却没人帮助解决问题2?
    此外,还有一个问题3:我希望做到以下效果:
    在IE中插入一个工具条,点击它的时候能将当前的页面用Word打开,然后用户可以在Word中调整打印的效果或排版,再打印。我想,这就要求把IE做OLE容器,将WORD作为OLE Server.请问如何编写代码实现?