Active X コントロールコンテナがない

今更なのですが、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 には無いと…。ではどうするのかと言うと

  1. Visual C++ 2008 のサンプルをダウンロード
  2. Active X コントロールコンテナ を自分でビルド

するということが判明。

参考情報

1) サンプルをダウンロードする

ダウンロードして、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 コントロールにはデジタル署名を付与しないと動かないってことも忘れずに。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。