WebBrowser控件的问题:如何去掉下载提示对话框?(200分)

  • 主题发起人 主题发起人 balloy
  • 开始时间 开始时间
B

balloy

Unregistered / Unconfirmed
GUEST, unregistred user!
我希望直接打开文件,如果不能打开就打开应用程序。
就像我已经帮用户点了一下“在文件的当前位置打开”一样。

比如说,如果是一个txt/doc/pdf ...文本型文件,我就直接嵌入Ie打开,
如果是zip/exe,则先下载,再运行。
运行zip/exe很简单,关键是如何让可能嵌入Ie的那些文件都用Ie打开,并内嵌?

多谢大家!!!
 
到浏览器选项的“高级”属性中看看,可能不行。
只在“下载完发出通知”。

如果那样的话,可能和安全性相违背!
 
to jsxjd:
"下载完发出通知"不是这个意思把,它的意思是在Ie中下载文件后,"下载完成后关闭该对话框"的默认值
 
设置WebBrowser属性如下:

DragMode:dmManual
RegiserAsBrowser:flase
RegiserAsDrop Targ:true
Slient:false
TheaterMode:false
 
to zw84611:
没有用啊,你给的这些都是默认值啊,我就没改过
 
txt文件也是这样吗?
 
txt 文件Ie可以直接打开的,但doc就不行了,虽然可以修改注册表来让Ie直接打开,但有两点不好:
1。轻易修改用户的注册表不大好。
虽然我在程序启动时把用户的原注册表相关值保存下来了,并在程序关闭时结束。但还是不大好。

2。我不希望对太多不同的文件类型进行单独的编程,我希望能有一种通用的方法。
 
机器上是否装了word?
 
必须装word,才有可能嵌入,否则是不可能的。
(话说过了,也许“写字板”可以打开,还是拿ppt文件打比方把,机器上不装Powerpoint,是不可能嵌入Ie打开的)
 
对,我就是这个意思。
只是很奇怪,我这儿不用做什么设置,就可以用IE直接打开,不会出现对话框。
你把你的程序拷到其它机器上试一下。
 
这是由于你已经设置过了,打开
【资源管理器】 -》【工具】-》【文件夹选项】-》【文件类型】-》【doc】-》【高级】,
找到checkbox 【下载后确认打开】,勾上它,下载提示对话框就又会出现了。
 
可以通过该注册表把这个勾去掉。
 
嗯,改注册表是可以的。
但有两点不好:
1。轻易修改用户的注册表不大好。
虽然我在程序启动时把用户的原注册表相关值保存下来了,并在程序关闭时结束。
但还是不大好。
1。1 在我的程序运行时,用户在其他地方通过Ie浏览doc就会直接下载,而不是他所熟知的对话框;
1。2 一旦用户非正常结束我的程序一次,比如通过“结束任务”,那他的注册表就被修改了,这一点是最要命的。

所以,我并不想采用这种方法

2。我不希望对太多不同的文件类型进行单独的编程,我希望能有一种通用的方法。
另外,对于2000/98,doc/ppt文件在注册表中的EditFlags项类型是不同的(2000:DWORD,98:Binary),
如果我修改注册表,还要根据不同的操作系统来改,更加增加了复杂度。
 
各位高手,帮帮忙啊!
 
大家有没有想过ie怎么知道是提示下载还是打开?[:D]

这是由服务器端返回的mime类型来决定的,因此你要控制ie不提示下载
而是直接打开,不是对ie作什么设置,而是需要设置web服务器的mime类型。
如果你愿意,甚至可以设置成打开html文件时也是提示下载的:)

至于如何设置,请自行查阅资料,不同的web服务器设置方法都不一样的。
 

Similar threads

后退
顶部