>

특정 버전의 플래시 플레이어가 설치되어 있는지 여부를 코드에서 확인하고 싶습니다. 다음 코드를 사용했습니다

using Microsoft.Win32
RegistryKey RK = Registry.CurrentUser.OpenSubKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\Macromedia\\FlashPlayer");
if (RK != null)
{
    // It's there 
}
else
{
    // It's not there 
}

레지스트리에서 버전 10.2.161.23의 플래시 플레이어를 검색하면 위치

"HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia"

2 개의 폴더가 있습니다 :

<올>
  • FlashPlayer 및
  • FlashPlayerActiveX.
  • 그러나 위의 코드가 작동하지 않습니다.

    특정 버전의 플래시 플레이어가 시스템에 설치되어 있는지 확인하는 방법을C # .NET 사용으로 알려주십시오.

    • 답변 # 1

      어도비 ShockwaveFlash.ShockwaveFlash.<주요 버전>을 인스턴스화 할 수있는 경우 VBScript에서 테스트하는 데 사용 된 Adobe의 이전 (10 이전) IE Flash 감지 코드. 테스트하려는 주요 버전 인 경우 HKCR에서 해당 키를 확인할 수 있습니다 (예 : 와이즈 비즈 .

      SWFObject는 버전이없는 객체 이름 ShockwaveFlash.ShockwaveFlash를 인스턴스화하고 HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash.10 를 쿼리합니다.  재산. C #에서이를 수행하려면 :

      $version
      
      

      // 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);

    관련 자료

  • 이전 Java에서 IP 주소를 사용하여 위치를 찾는 샘플 코드는 무엇입니까?
  • 다음 iphone - 한 번에 하나의 UITableViewCellAccessoryCheckmark 만 허용