2010-05-23 1 views
1

이것도 가능합니까?Win32/C++에서 설치된 Flash ActiveX의 버전 가져 오기

응용 프로그램의 IE 프레임 안에 Flash가 포함되어 있으며 Flash 및 해당 버전이 설치되어 있는지 확인하고 싶습니다.

응용 프로그램을 관리자 권한없이 실행해야합니다.

보너스 : IE 설정에서 ActiveX 컨트롤이 활성화되어 있는지 확인할 수 있습니까?

+0

설명서를 읽었습니까? http://msdn.microsoft.com/en-us/library/aa751968(VS.85).aspx –

답변

1

해결 방법은 플래시의 CLSID ("{D27CDB6E-AE6D-11cf-96B8-444553540000}")를 HKEY_CLASSES_ROOT\CLSID 아래의 레지스트리에서 검색하는 것입니다.

여기에서 OCX를 제공하는 \InprocServer32을 읽을 수 있습니다. 그런 다음 GetFileVersionInfo을 통해 버전을 가져옵니다.

모든 COM 컨트롤에서 작동합니다.

+0

그렇다면 나는 더 좋았거나 적었다. :) –

1

해당 * .dll 또는 * .ocx 파일의 파일 버전을 검사해야합니다. 내 64 비트 시스템에서 파일이 당신이 아마 알고, 많은 응용 프로그램이 설치된 모든 ActiveX 컨트롤을 표시 할 수 있습니다

C:\Windows\SysWOW64\Macromed\Flash\Flash10b.ocx 

입니다. 따라서 프로그래밍 방식으로 파일 이름을 가져올 수 있습니다. 그리고 일단 가지고 있다면, 파일 버전을 얻을 수 있습니다.

다른 누군가가 곧 더 많은 계몽 된 답변을 줄 수 있기를 바랍니다. 업데이트

지금 그것에 대해 생각, 레지스트리에서 컨트롤 당 하나의 키가있다.

관련 문제