- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# FlashPlayerがインストールされているかどうかチェックす)
C#でFlashPlayerのインストールをチェックする方法
このQ&Aのポイント
- C#でFlashPlayerのインストールをチェックする方法を教えてください。
- C#でFlashを再生するプログラムを組んでいますが、FlashPlayerがインストールされていない環境だとエラーが出てしまいます。
- Macromedia Flash PlayerとAdobe Flash Playerの2種類がありますが、どちらも入っていない場合をチェックするにはどうしたらいいですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBの場合だと、CreateObjectでエラーが出るか否かで、ActiveX DLLがインストールされているか否かが判断できます。 C#の場合は、以下がその機能を持っているようです。 Type.GetTypeFromProgID(progId) リンクは、上記関数の解説ページ(VBユーザ向け)です。 ちなみに、FlashPlayerの(ActiveX版の場合)progIDは "ShockwaveFlash.ShockwaveFlash"のハズ(未確認)。 エラー処理、解放処理は正しく入れてください。
その他の回答 (1)
- yuhyuh50
- ベストアンサー率41% (226/550)
回答No.1
2005年4月18日に、アドビシステムズ社がマクロメディア社を買収し、今はAdobe Flash Player1種類に統合されています。 下にAdobe Flash PlayerのバージョンチェックのURLを載せておきます。
質問者
お礼
回答ありがとうございます。 なるほど、ではチェックは1個で良いんですね。 少しホッとしました^^ 引き続き、C#のソース内で再生可能かチェックする方法がありましたらよろしくお願いします。
お礼
回答ありがとうございます。 参考URLを元に、以下のような感じで上手くいきました! 本当にありがとうございました。 -------------------------------------------------- //生成チェック bool checkCreate(string prjID, string sName) { Type t; if (sName == null || sName.Length == 0) t = Type.GetTypeFromProgID(prjID); else t = Type.GetTypeFromProgID(prjID, sName, true); try { object obj = Activator.CreateInstance(t); System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); return true; } catch (Exception) { return false; } } ------------------------------------------------- //Flashの生成処理メソッドの1行目 if(!checkCreate("ShockwaveFlash.ShockwaveFlash", null)) return; //Flashの生成処理へ -------------------------------------------------