上次具体的例子在: \DEVSTUDIO\VC\SAMPLES\SDK\OLE\MFRACT 目录下 是ms在1992开始用ole(com技术的前期)时编写的,应该好懂。 类似于一般的dll,又带点 com 的意思! sintony,觉得怎样?
又: http://www.microsoft.com/MSJ/0797/snapins.htm 有一篇关于用 com 来做plug in的文章 "Create Apps That Are Easily Extensible with Our Smart "Snap-Ins" Methodology" 比较实用。
http://www.midatech.com/csdn/tools/SDK_Lib/index.htm
前面几位大虾回答的还有点简单,偶就顺着
你们的思路问下去了,相信大家都用过QUICK VIEW PLUGS
它对文件格式的支持,是怎么实现的呢?是QUICK VIEW
为各种文件格式的DLL文件写了不同的接口,还是现在
有什么相同的接口,这种文件格式的即插即用的效果
跟COM又有什么关联,几位大虾如果明白,还请明示
如果对200分不满意,小弟愿意给大家再送200
程序启动时搜索该目录并检查每一个文件。
比如说:你的PlgIns后缀定义为.mmm,用文件名描述功能,或者在程序头
的描述里加入功能描述。
1。编写Plugin的主程序(Client)2。编写Plugin程序(Server)
关于Plugin原则:
1。由编写Client程序的同志规定接口,并提供 xxx.h和解释
2。Plugin程序只能实现部分单独的功能,不要什么都作`Plugin
编写Plugin程序(Server)方法有两种:
1。用一般的dll
这时编写的dll文件一定要放在Client程序指定的目录下(如photoshp),Client程序通过收缩找到并载入。
2。用com编写DLL
这时的dll只是实现Client程序的某些接口。通过DLL的注册,在注册表中注册某个指定的分类(Cat.)下,Client程序通过收缩注册某个指定的分类(Cat.)找到他所有的实现接口的插件。比较繁!还是用一般的dll好!在vc的例子中有一个类是于一般的dll,又有一些类是com的东东。可以看看,叫什么fractor(分形,单词可能有错!:( ) 在 \sdk\...下
要知道功能强大的许多东东都是用COM技术实现的,如DirectX,所有的ActiveX控件,etc.
\DEVSTUDIO\VC\SAMPLES\SDK\OLE\MFRACT
目录下
是ms在1992开始用ole(com技术的前期)时编写的,应该好懂。
类似于一般的dll,又带点 com 的意思!
sintony,觉得怎样?
http://www.microsoft.com/MSJ/0797/snapins.htm
有一篇关于用 com 来做plug in的文章
"Create Apps That Are Easily Extensible with Our Smart "Snap-Ins" Methodology"
比较实用。
key: snap-ins, plug-inswww.pcmi.net/mfc
www.codeguru.com
www.codeproject.com
ect.
http://www.winamp.com/nsdn/winamp2x/dev/plugins/
查阅、下载SDK。基本思想是做个DLL,传递一个结构给WINAMP,结构里有一些CALLBACK函数指针,
当WINAMP播放时会调用你的CALLBACK函数。
而播放动作和播放列表的控制由消息控制,比如你的DLL postmessage给WINAMP
一个WM_WA_IPCPLAY就能让它播放了。WM_WA_常数在winamp\frontend.h里
而WINAMP的HWND由FINDWINDOW函数搜索类"winamp1.x"得到。如果你要做PLUG-IN的应用程序,规定一个你自己的DLL调用协议即可,用LOADLIBRARY
装载各PLUG-IN。