愚問かもしれませんが

タグの編集
投稿者 初級者A  (社会人) 投稿日時 2009/2/14 04:21:48
いろいろ疑問な点がでてきたのでご教授お願いします。

(1)windowsのテキストファイルやメディアプレイヤーなどにプラグインのように機能を追加することは   基本的にVBではできないのですよね。
   でもwindowsのソースコードがわかればそれは可能なのでしょうか?
(2)windows APIは公開されてますが、windouwsのソースコードは非公開だと思いますが
   その理由は?

 的はずれなQかもしれませんがよろしくお願いします。

 



投稿者 え?  (その他) 投稿日時 2009/2/14 05:20:16
> (1)windowsのテキストファイルやメディアプレイヤーなどにプラグインのように機能を追加することは
>    基本的にVBではできないのですよね。

テキストエディタ(メモ帳)じゃなく?
受け入れ側が対応してなければ他の言語でも無理じゃね?
メディアプレイヤーならプラグイン作成可能では。

>    でもwindowsのソースコードがわかればそれは可能なのでしょうか?

ソースコードかどうかじゃないと思う。

> (2)windows APIは公開されてますが、windouwsのソースコードは非公開だと思いますが
>    その理由は?

マイクロソフトに聞くほうが早いかと。
ぶっちゃけ、ソースをそのままコンパイルされて使われたら稼げないと思いますが。
投稿者 初級者A  (社会人) 投稿日時 2009/2/14 07:18:00
>テキストエディタ(メモ帳)じゃなく?
失礼しました。メモ帳でした。
>受け入れ側が対応してなければ他の言語でも無理じゃね?

対応していないと言うことは?

>メディアプレイヤーならプラグイン作成可能では。
 そうなのですか。メモ帳と同じwindowsアプリだと思うのですが
 どこが違うのでしょうか?


投稿者 魔界の仮面弁士  (社会人) 投稿日時 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
投稿者 ヴァン  (社会人) 投稿日時 2009/2/14 09:49:15
こんばんは。

>windowsのテキストファイル
これはアプリケーションじゃないので無理。
で、これに対応したアプリケーション、例えばメモ帳。
これはプラグインに対応していないので無理。

>メディアプレイヤー
これはプラグインに対応しているので可能。

>基本的にVBではできないのですよね。
がんばれば出来るかも。

まあ、プラグインの定義によりますが。
投稿者 初級者A  (社会人) 投稿日時 2009/2/15 04:06:38
大変よくわかりました。ありがとうございます。