vb+Flex的关于FlashPlayer的检测

本文介绍了一种使用VB和Flex开发的应用如何检测用户计算机上是否已安装Adobe Flash Player ActiveX组件的方法。针对32位和64位系统分别进行了注册表键值检查,以确保应用程序能够正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vb+Flex的关于FlashPlayer的检测
2010年11月03日
  应该很少见到使用vb+flex这样的方式开发的项目吧,自己就曾经遇过这样的一个项目,其实更好的应该是c++ + flex, vb,c++这些作为Flex的外层,它的工作就是跟系统交互并为Flex提供服务,而这样结合,比起air, 性能应该更好,我不明白air还有什么用武之地,至少我不会再用它了--|||...
  vb+flex,在vb中,要使用到ActiveX控件ShockwaveFlash
  回过头先说FlashPlyer的两个内核版本:
  Adobe Flash Player ActiveX: ie ActiveX控件
  Adobe Flash Player plugin: 非ie的插件,例如firefox
  Adobe Flash Player ActiveX是再熟悉不过的了,并且是非常的普及的了,几乎所有需要运行swf都会安装它,也只安装了它, vb才能正常使用ShockwaveFlash,因为它会注册该控件。
  基于此,vb+flex,如何去检测用户的电脑是否可以正常使用软件(是否安装了Adobe Flash Player ActiveX),我们自然想到了要去检测注册表,而现在的系统有32位和64位的,因此就有了: Dim K As String '首先检测32位的键值 K = GetRegString(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\Adobe Flash Player ActiveX", "DisplayVersion") K = Trim(K) If (K = "") Then '再尝试检测64位的键值 K = GetRegString(HKEY_LOCAL_MACHINE, "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVer sion\Uninstall\Adobe Flash Player ActiveX", "DisplayVersion") K = Trim(K) If (K = "") Then Call err.Raise(-1, , "flash cannot found") Else K = GetVersionNum(K) 'GetVersionNum用户获取版本好的Interger数字 End If Else K = GetVersionNum(K) End If ver = CInt(K) If ver ShellExecute 0, "open", "iexplore.exe", "http://www.adobe.com/go/getflashplayer", "", 1 End If 事实上,Adobe把SafeVersions/10.0这个键值改为最新的,当安装时候,检测到比它低的,它就不允许安装,其实也可以将他改低就可以安装了,但是没有必要,直接将它删除了吧,一了百了。
  不知是否还有更好的办法....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值