我有一个用C ++编写的Windows应用程序,我需要检测是否为IE安装了Flash。最好的方法是什么?
答案 0 :(得分:1)
有几种方法可以做到这一点。一种方法是检查二进制文件是否存在:
您也可以检查注册表中的内容。
答案 1 :(得分:0)
http://www.delphipages.com/forum/showthread.php?t=61736 此线程与您的问题相关。在C ++中也一样。
答案 2 :(得分:0)
我在这里检查它。
我们将在注册表中寻找。如果用户执行卸载,则会删除这些值。
#define FLASH_KEYDIR _T("Software\\Macromedia\\FlashPlayerActiveX")
#define FLASH_KEY _T("PlayerPath")
#define FLASHPLUGIN_KEYDIR _T("Software\\Macromedia\\FlashPlayerPlugin")
#define FLASHPLUGIN_KEY _T("PlayerPath")
两种情况下的PlayerPath都包含ocx / dll的完整路径,例如:对于ActiveX(IE)版本的播放器,它看起来像C:\Windows\system32\Macromed\Flash\Flash32_11_3_300_257.ocx
,对于播放器的插件版本,它看起来像C:\Windows\system32\Macromed\Flash\NPSWF32_11_3_300_257.dll
所以我们做的是a)检查注册表值,如果存在,则b)查看文件是否存在。也许这只适用于较新的Flash包。我不确定这段代码如何处理旧的Flash安装。