2010-12-03 11 views

答えて

1

これにはいくつかの方法があります。一つの方法は、バイナリの存在を確認するために、次のようになります。

  1. CSIDL_SYSTEMで使用SHGetSpecialFolderPath system32ディレクトリへのパスを取得します。
  2. FindFirst/FindNextFileを使用してwindows \ system32 \ macromed \ flashが存在するかどうかを確認します。具体的には、 "flash ???。ocx"という形式のファイルがあります。 NPSWF32.dllはNetscapeプラグイン(FF、Chrome)バージョンのFlashですので、必ずocxを探してください。

また、レジストリで何かを確認することもできます。

0

ここで確認します。

レジストリを探します。ユーザーがアンインストールを実行すると、これらの値は削除されます。両方の場合において

#define FLASH_KEYDIR _T("Software\\Macromedia\\FlashPlayerActiveX") 
#define FLASH_KEY _T("PlayerPath") 
#define FLASHPLUGIN_KEYDIR _T("Software\\Macromedia\\FlashPlayerPlugin") 
#define FLASHPLUGIN_KEY _T("PlayerPath") 

PlayerPathは、例えば、OCX/DLLへの完全なパスを含みますActiveX(IE)バージョンのプレーヤーの場合はC:\Windows\system32\Macromed\Flash\Flash32_11_3_300_257.ocx、プラグインバージョンのプレーヤーの場合はC:\Windows\system32\Macromed\Flash\NPSWF32_11_3_300_257.dll

となります。存在する。おそらく、これは新しいフラッシュパッケージでのみ機能します。私はこのコードwoudlが古いFlashインストールをどのように処理するのかよくわかりません。

関連する問題