我希望直接打开文件,如果不能打开就打开应用程序。
反正就像我已经帮用户点了一下“在文件的当前位置打开”一样。请问我该如何做?谢谢!!!

解决方案 »

  1.   

    在BeforeNavigate2时判断一下url的类型,
    若有必要,则取消之(Cancel := True), 
    并以自定义函数下载文件到临时文件夹中,
    怎么打开就是你的事了
      

  2.   

    to westfly(西翔) :
       谢谢你的方法,但我希望能够达到就像
    帮用户点了一下“在文件的当前位置打开”那样的效果。比如说,如果是一个txt/doc/pdf ...文本型文件,我就直接嵌入Ie打开,如果是zip/exe,则先下载,再运行。
    运行很简单,关键时如何让可能嵌入Ie的那些文件都用Ie打开,并内嵌?
      

  3.   

    在BeforeNavigate2时判断一下url的类型,
    若有必要,则取消之(Cancel := True), 
    并以自定义函数下载文件到临时文件夹中,
    如果这个文件是txt或exe等就使用ShellExecute---(ShellaPI单元);
    ShellExecute(Handle, 'open', '你的.txt', nil, nil, sw_normal);如果是URL则指定由当前窗口打开。
      

  4.   

    to Rainsea(飞龙在天) :
       可我希望 txt 文件可以直接嵌入在Webbrowser控件中打开啊,txt文件还好办,doc文件就会弹出对话框了,我就是不希望出现这个对话框,而直接打开。
       有什么好办法吗?谢谢!
      

  5.   

    这个很容易的,你打开我的电脑,在工具菜单中文件夹选项,选文件类型,找到doc文件,更改,选上不用IE打开,就可以了。
      

  6.   

    to zjfeng(小峰) :
       我想知道的是如何用程序修改。不过如果只是doc文档,也很容易,在注册表里改 classroot\word.document.8\editflags 就可以了。
       但我希望我不必要为每种文件就写相应代码,来修改用户的注册表。比如说,文本文件的类型就很多啊, txt/sql/c/cpp/h/pas ... ,它们其实都可以用Ie打开,我不希望对所有的文件类型都进行单独的编程,而是有一个通用的方法。