#author("2017-12-26T13:51:51+09:00","default:wikiwriter","wikiwriter") #author("2017-12-26T13:53:29+09:00","default:wikiwriter","wikiwriter") &tag(ATL); *目次 [#n913bb2b] #contents *参考情報 [#sab90cd2] -[[ATL の編集 - src256 wiki:http://www.srcw.net/wiki/index.php?cmd=edit&page=ATL]]…Visual Studio 2010で簡単なComコンポーネントを作成するサンプル。登録するためにVSを管理者権限で起動するタイプ。 -[[プロジェクトの作成 (ATL チュートリアル、パート 1):https://msdn.microsoft.com/ja-jp/library/1byykx68.aspx?f=255&MSPPError=-2147217396]]…Visual Studio 2015でのサンプル。 *Tips [#s60a4bf5] **コンポーネントの登録について [#t40d24df] -[[c++ - Windows Limited User Installation - Stack Overflow:http://stackoverflow.com/questions/1437450/windows-limited-user-installation]] --regsvr32 /i:user xxx.dll を使うことによって、一般権限でもインストール可能。しかしそのためにはATL9が必要(DLLInstallという関数を呼ぶらしい)。 -古いプロジェクトではdllを登録するのにregsvr32.exeを使用していたが、新しい(?)プロジェクトではプロジェクトのプロパティで設定することでregsvr32を呼び出すようになっている。またユーザー毎の登録も可能。ただし内部では実質regsvr32.exeの呼び出しになっている。 --[[COMのレジストリ登録 - Visual C++ 8.0 - 社本@元ネオニート Blog:http://www.ailight.jp/Blog/sha256/archive/2007/2/15/COM%E3%81%AE%E3%83%AC%E3%82%B8%E3%82%B9%E3%83%88%E3%83%AA%E7%99%BB%E9%8C%B2%20-%20Visual%20C%2080]] -どちらにしろDLLInstallを実装する必要がある。DLLInstallは例えばvs2010でATLのDLLプロジェクトを作成すればデフォルトで組み込まれるのでそれを参考にすれば良い。