2010-05-23 48 views
1

這甚至可能嗎?在Win32/C++中獲取安裝的Flash ActiveX版本

我嵌入Flash在我的應用程序的IE框架內,想檢查,並安裝了Flash的是什麼版本的了。

應用程序需要在沒有管理員權限的情況下運行。

獎勵問題:我還可以檢查是否在IE設置中啓用了ActiveX控件?

+0

您是否閱讀過文檔? http://msdn.microsoft.com/en-us/library/aa751968(VS.85).aspx – 2010-05-23 18:43:08

回答

1

的解決方案是搜索Flash在註冊表HKEY_CLASSES_ROOT\CLSID下的CLSID("{D27CDB6E-AE6D-11cf-96B8-444553540000}")。

在那裏你可以閱讀\InprocServer32,它給你的OCX。然後通過GetFileVersionInfo獲取版本。

這應該適用於任何COM控件。

+0

然後,我或多或少是正確的,那麼! :) – 2010-05-24 16:50:39

1

唯一想到的就是檢查相應的* .dll或* .ocx文件的文件版本。在我的64位系統,該文件是

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

正如你可能知道,很多應用程序可以列出所有已安裝的ActiveX控件。所以它是絕對可以通過編程獲得文件名。一旦你有了,你可以獲得文件版本。

希望別人能儘快給你一個更開明的答案。

更新

現在我想想,還有在註冊表中每一個控制鍵。

相關問題