要做个浏览器,运行时接管所有DDE调用,保证大多数情况下网页使用我的浏览器打开。不是仅仅通过newwindow2或者newwindows3,然后获得url之后重新打开。而是要求从其他webbrowser控件中,点击连接,也可以打开我的浏览器。
如果仅仅是修改:
        Registry->RootKey = HKEY_CLASSES_ROOT;
        Registry->OpenKey("\\http\\shell\\open\\command",false);
还不能达到这个效果。据说要修改
HKEY_LOCAL_MACHINE\\Software\\Classes\\CLSID\\{0002DF01-0000-0000-C000-000000000046}\\LocalServer32
这里才可以。不仅仅是单独的替换文件路径,还要响应dde命令,否则只能得到一个-Embedding的参数。请各位大侠说明,需要响应什么dde命令,最好能给出例子代码。
下面的砖头,是应用程序dde控制ie的。 //单击Open   URL按钮链接到指定网页 
  procedure   TForm1.Button2Click(Sender:   TObject); 
  begin 
  if   DDE.SetLink( 'Iexplore ',   'WWW_ 
  OpenURL ')   then 
  begin 
  //链接到指定Web页 
  DDE.OpenLink; 
  DDE.RequestData(Edit2.Text); 
  DDE.CloseLink; 
  end 
  else 
  ShowMessage( 'IE没在运行 '); 
  end; 我希望得到,第三方程序中的cppwebbrowser控件里面,打开新窗口时,调用dde的相应过程,以便我的浏览器能配合之。

解决方案 »

  1.   

    下了 myie 的源码,发现一点都不全。没找到答案,刚刚又下载了 firefox的源码,4万多个文件……
    唉,估计够呛能看懂的,有哪位大侠知道怎么完整替换ie的,恳请留下答案。谢谢!!
      

  2.   

    D:\tdDownload\Software\firefox-4.0b6.source\mozilla-central\embedding\browser\activex\tests\IEPatcher\IEPatcher.reg(13): HKEY_CLASSES_ROOT\CLSID\{A6031675-3B36-11D2-B44D-00600819607E}\LocalServer32 = IEPATCHER.EXE
      

  3.   

    好不容易找到了一个开发浏览器的同行,他做得行者无疆浏览器http://www.xzwj.org/。
    这个功能他说辛苦了半年才解决。要3000元,我无力支付。希望其他有能力的朋友可以去获得答案。
    不过我还是非常感谢他的帮助,因为最起码帮我排除了一条错误的道路。就是默认浏览器的调用,绝对不是DDE。

    12百思软件 20:47:30 
    300我还可以从我的收入里面给你。 
    绝情谷 20:47:37 
    那我也没办法了 
    12百思软件 20:47:40 
    3000是完全不可能的。 
    绝情谷 20:48:09 
    我也爱莫能助了 
    12百思软件 20:48:41 
    你也曾经在网上得到过很多人的帮助吧。 
    12百思软件 20:49:06 
    你告诉我方向吧。 
    12百思软件 20:49:13 
    dde还是其他。 
    绝情谷 20:49:17 
    看情况,小的功能知道的我一般都会告诉的 
    绝情谷 20:49:28 
    方向就是:绝对不是DDE 
    12百思软件 20:49:36 
    哦。那太好了。谢谢。 
    绝情谷 20:50:05 
    那就这样了,你忙你的吧。