这不是一个很干净的解决方案,但由于唯一的“官方”的方式似乎是从Windows注册表检查它也许这将帮助:
我们知道,闪存文件位于都在(Windows目录)\ system32 \ Macromed \ Flash(或64位系统上的SysWow64 \ Macromed \ Flash)。
每次闪存更新时,它都会保留日志文件中进度的轨迹。根据不同的flash版本你要么有一个)install.log的(很老版本的Flash)或b)FlashInstall.log
一)如果你通过浏览你看到各种entires文件和一个类型是这样这个:WriteRegStr: "HKEY_CURRENT_USER\SOFTWARE\Macromedia\FlashPlayer" "FlashPlayerVersion"="10.0.45.2"
。
现在,您可以通过该文件自下而上并匹配"FlashPlayerVersion"=
字符串以获取最新版本。
但是,这是一个真正的旧版本的Flash和install.log文件永远不会从这个目录中删除,所以请确保您检查FlashInstall.log太!
b)使用类似的方法,除了新的安装日志不保留“WriteRegStr”信息。现在,您可以代替查找DLL文件的名称本身,例如我的最后一次更新创建的安装日志0009 [I] 00000014 C:\WINDOWS\system32\Macromed\Flash\NPSWF32_11_5_502_146.dll
,这意味着我的Flash版本11.5.502.146
另一个选项是
- 检查插件核心文件的创建日期,并与版本发布日期进行比较(相当不可靠,以防某人以某种方式管理安装旧版本)
- 检查NPSWF [.. version ..] .dll文件的实际属性。您可以在“版本”选项卡中看到所有完整和精确的版本详细信息。 但是,我不知道如何在脚本中访问rightclick->属性,所以你必须自己去发现,如果你决定去这个选项
- 问独角兽
http:// stackoverflow可能存在重复。com/questions/5039636 /如何检查,如果一个特殊版本的Flash播放器被安装或没有在c – codeghost
@ codeghost我不认为这是一个重复。他们引用的是用于Flash Player的注册表项。我正在查找包含该信息的文件。我希望我可以使用注册表项,但它不在我的项目范围内。我只会有文件访问权限,而不是注册表访问权限。我的问题与文件相关。虽然谢谢! – toosweetnitemare
我指的是在C#中实例化对象的答案,并询问它的版本,认为这会对你有用。 – codeghost