如何在 Java 中找出我的系统上安装的 Flash 播放器的版本号?
我目前运行的是 OS X,但解决方案应该与操作系统无关。
答案1
您可以尝试读取插件的配置/帮助文件。这取决于它们在每个操作系统上的存储位置。
操作系统
对于系统范围的 Flash,读取以下 XML 文件:
/Library/Internet Plug-Ins/Flash Player.plugin/Contents/version.plist
<string>
版本号是元素中第一次出现的文本值<dict>
。例如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleShortVersionString</key>
<string>10.2.159.1</string>
<key>CFBundleVersion</key>
<string>10.2.159.1</string>
<key>ProjectName</key>
<string>FlashPlayer</string>
</dict>
</plist>
另一方面,Google Chrome 附带了自己的 Flash 版本,可以在这里找到:
/Applications/Google Chrome.app/Contents/Versions/21.0.1171.0/Google Chrome Framework.framework/Internet Plug-Ins/Flash Player Plugin for Chrome.plugin/Contents/Info.plist
将其替换21.0.1171.0
为您在其中找到的最新文件夹。在 中Info.plist
,查找<string>
后面的第一个子项,其文本为<key>
:CFBundleShortVersionString
...
<key>CFBundlePackageType</key>
<string>BRPL</string>
<key>CFBundleShortVersionString</key>
<string>11.3.300.257</string>
<key>CFBundleSignature</key>
<string>MOSS</string>
...