投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/2/14 09:39:10
アドイン・アドオン・プラグインなど、製品によっていろいろな呼び方がありますね。
(Visio などのように、アドインとアドオンを異なる意味で使い分ける場合などもありますが、ここでは説明の簡略化のために、そうした細かい違いは端折って記述します)


アドインは通常、「アプリ側が、追加機能を受け入れる」形で実装されます。
(たとえば、VB6 や VB.NET の開発環境はアドインに対応していますね)

しかしアプリ側に追加機能を受け入れるための仕組みが実装されていない場合、アドインはどの言語を使ったとて作れません。

アプリ側に追加機能の受け入れ口が無い場合、「アプリを乗っ取る/処理の一部を置き換える/EXEそのもののバイナリを修正する」事によって、無理やり機能拡張するという手はありますが、元のEXEそのものに手を加える場合、それは通常アドインとは呼びませんので、今回は除外します。


で。アプリ側が機能追加できるように実装されていたとしても、その手順はアプリごとに異なります。

たとえば、Office の COM アドイン機能の場合は、IDTExtensibility2 インターフェースを使って実装された COM コンポーネントを利用できるようになっています。
http://support.microsoft.com/kb/302896/ja

Media Player のプラグイン機能の場合は下記を参考に。
http://www.microsoft.com/japan/windows/windowsmedia/mp10/getmore/plugins.aspx


> windouwsのソースコードは非公開だと思いますが
Windows のソースコードなら公開されていますよ。
米国本社との秘密保持契約(NDA)を結ぶ必要はありますけれども。
http://www.microsoft.com/japan/resources/sharedsource/licensing/windows.mspx