vbscript で COM クラスの存在を確認するコード
2022-01-01 16:14:38
この記事はLao Liuによって書かれたもので、原著者のニックネームで転載してください。
VBSでは、さまざまなアクションを実行するために、COMクラスが存在するかどうかを判断する必要がある場合があります。
ここでは、関数が Bool 値を返し、COM クラスが存在することを証明する 2 つの基本的なメソッドを紹介します。
1. レジストリ・ルックアップ・メソッド
Function ComExist(ComName)
Dim WshShell
Set WshShell = CreateObject("Wscript.Shell")
On Error Resume Next
WshShell.RegRead("HKCR\"&ComName&"\")
ComExist = CBool(Err.Number = 0)
On Error Goto 0
End Function
Win Script Hostに付属するCOMクラスを使用する方法です。これは、レジストリに直接問い合わせることによって、COMクラスが有効かどうかを判断します。
長所 高速で、オブジェクトを作成する必要がない。
短所:COMクラスによっては、アンインストール残があるため、この関数が誤判定することがあります。WScript.Shellオブジェクトが異常な場合、判定されない。
2. createメソッドを試してみてください。
Function ComExist(ComName)
On Error Resume Next
Set CreateTest = CreateObject(ComName)
ComExist = CBool(Err.Number = 0)
On Error Goto 0
End Function
この方法は比較的単純で残酷です。ただCOMオブジェクトを作成して、それが動作するかどうかを確認するだけです。
長所 非常に厳格で信頼できる。
短所:作成・破棄時間が長いクラス(Word.Applicationなど)のテストに使用すると、多くの時間がかかり、プロセスの残骸が残ることがあります(Wordオブジェクトを手動で.Quitする必要があるなど)。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン