关于TWebBrowser的老掉牙问题(100分)

  • 主题发起人 主题发起人 歪就歪
  • 开始时间 开始时间

歪就歪

Unregistered / Unconfirmed
GUEST, unregistred user!
如何才能知道系统里有IE的Com。

我的程序里用了TWebBrowser,但在客户机器里安装后,出现问题。
他的机器里的IE被Unstall了。这个财大气粗的公司对IE过敏,几
十台机器里都被Uninstall了IE,还有几台机器,虽然有IE,但好象
是老版本,不支持COM的。

我现在需要知道:测定机器里有无IE,如果有,我的程序里就RUNTIME
CREATE一个TWebBrowser,如果没有,我就不用TWebBrowser.

烦请提供明确的标示,通过检查Registry的哪一项、或C:/Windows/System
里的哪个文件。

另,我认为,光去Local_Machine/Software/Microsoft/InternetExplore/
去查看Version的做法恐怕不是很可靠。

 
你这样行不行?
try
...create
except
//没有装IE
end;
 
见鬼,我没想到这法子,我明天去试试,

不过,还有更好的办法么?
 
看看注册表里面 *.htm文件的关联是不是IE.
 
cAkk: 这就不对了,要是缺省浏览器真是IE,但却是IE3.0(或其他不支持
ActiveX的老版本),那企不是有问题了?

IE虽然免费,但如果是IE与公司产品一起发布给用户,还是要有微软的授权
才行。不然,给客户COPY些文件就可以了。

没办法了?我想,IE作为COM使用时,它的Class的某一Registry项应该是
这问题的答案。
 
>>要是缺省浏览器真是IE,但却是IE3.0(
那就再查IE版本号吗!

>>不然,给客户COPY些文件就可以了
把文件考上去就算装上了IE? 没这么简单把,老歪.

再出格主意: 你的软件安装(或第一次运行)的时候给用户一个选择:

"您当前是否使用IE4.0以上做为浏览器? 如果是,您可以使用某些
增强功能."

[是] [否]

用户选择之后,把选择保存进注册表,以后运行检查一下注册表即可

哈哈,我的馊主意不少啊! 快赶上"点子大师"了! :-)
 
好了,谢谢cAkk!
我用了Try...Except和查IE.ActiveX Version的registry和检查
SHDOCWV。DLL文件。

管它呢,大概就这样了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
911
DelphiTeacher的专栏
D
后退
顶部