应用程序预留接口,通过插件扩展功能,有时候很方便,亦可作为程序升级一种方式。
插件的应用原理:
1、独立的功能模块可封装成独立的动态库,如本例中的两个插件就是两个动态库,每个插件的动态库都有统一规定的接口,以便应用程序调用,本例中的ShowPlugin, GetCaption便是这种接口,其中ShowPlugin用于显示插件的窗口,GetCaption用于显示在调用插件应用程序的菜单,另外之所以单独留有此函数也是因为菜单显示在先,插件显示(调用ShowPlugin)在后。
2、应用程序端主程序创建时,动态载入插件。先是扫描应用程序目录及子目录下.dll文件,然后调用库文件的相关函数获取信息,并根据信息动态创建菜单,菜单的Onclick事件对应插件Dll文件中的ShowPlugin,最后释放资源。
程序效果图及代码如下:
1、主程序Plugins菜单为插件的母菜单
2、已经装载的插件1
3、已经装载的插件2
4、插件1代码
5、插件2代码
6、调用插件应用程序代码