Старый Adobe (до 10) код обнаружения IE Flash, используемый для проверки в VBScript возможности создания объекта ShockwaveFlash.ShockwaveFlash. <Основная версия>. Если вы хотите протестировать только основную версию, вы можете проверить эти ключи в HKCR, например, HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash.10
.
SWFObject создает экземпляр объекта без версии ShockwaveFlash.ShockwaveFlash и запрашивает его свойство $version
. Для этого в C #:
// Look up flash object type from registry
var type = Type.GetTypeFromProgID("ShockwaveFlash.ShockwaveFlash");
if (type == null)
{
// No flash
return;
}
// Create a flash object to query
// (should probably try/catch around CreateInstance)
var flashObject = Activator.CreateInstance(type);
var versionString = flashObject.GetType()
.InvokeMember("GetVariable", BindingFlags.InvokeMethod,
null, flashObject, new object[] {"$version"})
as string;
// e.g. "WIN 10,2,152,26"
// Clean up allocated COM Object
Marshal.ReleaseComObject(flashObject);