- PR -

COMコンポーネントの登録状態の確認

1
投稿者投稿内容
toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2006-06-30 13:47
こんにちは、

COMコンポーネントを使用する場合
regsvr32でCOMコンポーネントをシステムに登録しますが、
登録されているかどうかを調べるにはどうしたら良いでしょうか。

よろしくお願いします。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-06-30 14:48
こんにちは。

引用:

toppoさんの書き込み (2006-06-30 13:47) より:
こんにちは、

COMコンポーネントを使用する場合
regsvr32でCOMコンポーネントをシステムに登録しますが、
登録されているかどうかを調べるにはどうしたら良いでしょうか。

よろしくお願いします。



レジストリを直接のぞくって手もありますが、
Visual Studioに付属の「OLE/COM Object Viewer」を使うのが
よいのではないでしょうか。

インストールされていればcommon/tools/oleview.exeというものがあるはずです。
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2006-06-30 15:38
とっちゃんです。
引用:

toppoさんの書き込み (2006-06-30 13:47) より:

COMコンポーネントを使用する場合
regsvr32でCOMコンポーネントをシステムに登録しますが、
登録されているかどうかを調べるにはどうしたら良いでしょうか。


どこで確認したいかで状況が変わりますけど...
基本は、CoCreateInstance API の結果で調べるではないかと。

CoCreateInstance が成功するなら、それは使える状態なので問題ありません。
失敗すれば、それは何らかの理由で使えないので、どちらにしても使えません。

レジストリを見ただけでは、登録されている状態までは把握できますが、
使えるかどうかは判りません(登録されていなければどちらにしても使えない)。

ツールを使う場合は、開発環境なら問題はありませんが、そうではない場合は
ツールそのものが別途必要になります(場合によっては開発環境ごとインストールなど)。

なので、もっとも手っ取り早くかつ確実に使えることを確認するには、
COMオブジェクトを実際に使える状態にしてみるということになると思います。
_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-30 18:19
手抜きかもしれませんが、遅延バインディングによる呼び出しを try してみるとか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-06-30 18:27
引用:

じゃんぬねっとさんの書き込み (2006-06-30 18:19) より:
手抜きかもしれませんが、遅延バインディングによる呼び出しを try してみるとか。


さらに手抜きですがブラウザを開いてアドレスバーに打ってみるとか
コード:
javascript:    try { var obj = new ActiveXObject("Msxml2.XMLHTTP"); alert("OK"); } catch(e) { alert("NG"); }

1

スキルアップ/キャリアアップ(JOB@IT)