Visual Studio 2013でActiveXを作成する手順メモ。
1. MFC ActiveX Control のプロジェクトを作成。とりあえずオプションは全てデフォルト。
2. ビルドすると以下エラー発生。regsvr32の実行に権限が不足しているらしい。
1 2 3 |
MSB3075: The command "regsvr32 /s "C:\Temp\TestOcx\Debug\TestOcx.ocx"" exited with code 5. Please verify that you have sufficient rights to run this command. |
コマンドプロンプトを管理者として実行してコマンドを手打ちしたら通った。
1 |
regsvr32 /s "C:\Temp\TestOcx\Debug\TestOcx.ocx" |
3. Test.idlからuuidを取得
1 2 3 4 5 6 7 8 9 |
// Class information for CTestOcxCtrl [ uuid(07904A43-EA43-4F7A-A67D-7271BD47C117) ] coclass Test { [default] dispinterface _DTest; [default, source] dispinterface _DTestEvents; }; |
4. テスト用にActiveXを埋め込んだHTMLファイルを作成。
1 2 3 4 5 6 7 8 9 10 11 12 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>OCX test</title> </head> <body> <object id="test" width="300" height="300" codebase="./TestOcx.ocx#Version=1,0,0,0" classid="CLSID:07904A43-EA43-4F7A-A67D-7271BD47C117"></object> </body> </html> |
5. IEでtest.htmlを表示したら動いた。
これをたたき台にして必要な機能を追加していけばよいだろう。
参考サイト
VisualStudio2005によるActiveXコントロール開発 – LangEdge Weblog
http://www.langedge.jp/blog/?itemid=634
VS2005 の C/C++ でつくった MFC ActiveX コントロールを HTML へ貼り付ける – すがブロ
http://sugamasao.hatenablog.com/entry/20070516/1179339385
ActiveX コントロールの作成手順
http://msdn.microsoft.com/ja-jp/library/5xt905y8.aspx
スクリプトおよび初期化を実行しても安全として MFC コントロールにマークする方法
http://support.microsoft.com/kb/161873/ja