Active X コントロールコンテナがない
2009/09/01 コメントをどうぞ
今更なのですが、Active X コントロールの相談を受けました。
既存の Active X コントロールを IE8 で検証したら、まったく動かないということで
IE8 用に再設計すると…。Visual Studio 2008 で Active X なんて作ったことないので、すごーく久々です。
VC++6.0 では COM 大好きでよく作ったものです…。
VC++6.0 の頃と COM に関する IDE 操作もずいぶんと変わっていました。
とりあえず、HelloWorld レベルの HelloActiveX っていうサンプルを作っていろいろと思い出そうとしているのですが
いきなり、以前、テストでよく使った Active X コントロールコンテナが無いことに気がつきました。
調べたところ、Visual Studio 2008 には無いと…。ではどうするのかと言うと
- Visual C++ 2008 のサンプルをダウンロード
- Active X コントロールコンテナ を自分でビルド
するということが判明。
参考情報
- TSTCON Sample: ActiveX Control Test Container
http://msdn.microsoft.com/en-us/library/f9adb5t5.aspx
1) サンプルをダウンロードする
- Microsoft Visual C++ 2008 Sample Library
http://www.microsoft.com/downloads/details.aspx?FamilyId=01AE159F-08CD-495B-8BF4-A48CC395AD7B&displaylang=en
ダウンロードして、vc_sample.exe を実行すると、インストーラーが走り、AllVCLanguageSamples.zip というファイルができますので
これを展開します。
2) ビルド方法
インストールフォルダ\C++\MFC\ole\TstCon
にある ソリューションファイル TstCon.sln を Visual Studio 2008 で開きます。すると 2 つのプロジェクトが入っています。
まず、TstCon プロジェクト内にあるヘッダーファイル StdAfx.h を開きます。
そこに、
1: #ifndef WINVER
2: #define WINVER 0x0500
3: #endif
を追加します。
同じように TXProps プロジェクトにある ヘッダーファイル StdAfx.h にもある定義も同様にします。
次にプロジェクトのプロパティを開き、リンカのマニフェストファイルにある ”UAC を有効にする” を「いいえ」にします。
これで準備完了です。
あとは、ソリューションプラットフォームを Win32 にしてビルドすることで、Active X コントロールコンテナができます。
おお~、久々だ。
Active X コントロールにはデジタル署名を付与しないと動かないってことも忘れずに。