Win32_Product
클래스는 Windows Installer에 의해 설치된 제품만을 나타냅니다. Flash Player에서 다른 설치 서비스를 사용하는 것처럼 보입니다. 여기
는 Flash Player ActiveX 컨트롤의 존재 및 버전 (IE 용 플래시 플레이어)를 결정하는 방법은 다음과 같습니다
ShockwaveFlash.ShockwaveFlash
의 ProgID에 해당하는 System.Type
객체를 취득하십시오. 가져 오지 못하면 Flash Player가 설치되지 않습니다. 성공하면 2 단계로 이동하십시오.
Type
개체의 인스턴스를 만듭니다.
- "$ version"매개 변수를 사용하여 얻은 개체의
GetVariable
메서드를 호출하십시오. 이렇게하면 "OS major, minor, release, build"형식의 Flash Player 버전 문자열이 제공됩니다. "WIN 10,0,22,87"
이런 식으로 뭔가 (면책 조항 : 나는 잘 C 번호를 모르는, 그래서이 코드는 절름발이 수 있음) :이 방법을 사용하면 x86 용 응용 프로그램을 구축해야한다는
가
Type tFlash = Type.GetTypeFromProgID("ShockwaveFlash.ShockwaveFlash");
if (tFlash != null)
{
object FlashPlayer = Activator.CreateInstance(tFlash);
string version = (string) tFlash.InvokeMember("GetVariable",
System.Reflection.BindingFlags.InvokeMethod,
null, FlashPlayer, new Object[] {"$version"});
Console.WriteLine(version);
}
else
{
Console.WriteLine("Flash Player is not installed.");
}
주 플랫폼으로 변환 할 수 있습니다. Flash Player는 현재 32 비트 전용이므로 64 비트 코드에서 ActiveX 객체와 상호 작용할 수 없습니다.
사용중인 언어는 무엇입니까? – Helen
언어는 C#입니다. –