SW插件的工作原理

装插件,是这么个过程:
1,插件理解成一个文件包,随便扔了一个位置。比如C:\1.dll
2,SW安装完成后,得通知windwos,告诉windows,这系统里,有sw了。通知靠的是注册表,里面记录了sw的一些文件位置。
3,装插件,是通知sw,C:\1.dll是你们家的,你得把我记住了。所以在windows的注册表的sw注册表中,再写一条记录。sw启动的时候,因为有这条记录,顺带就把1.dll也装进来,带着插件一起跑。
就这点玩意。如果1.dll,sw一看这玩意不合法,我们家用不了,就不带着1.dll,插件无法加载,就这么回事。
你之前的,升级不了。说明sw,有一个C:\1.dll,是旧版本的。因为某些原因,1.dll应该更新到17版,但实际上它还是旧的。
删掉这个1.dll换成新的,就完事了

这过程里,注册表的唯一用途,就是个指路功能,它不会去分辨1.dll是新是旧。
以前,有一些功能,别人用着没毛病,你用着出毛病,比如那快捷更名,别人就没问题,你出问题了,因为sw的API在不同版本,不同sp补丁下,有bug。
在sw中,想要实现一个事,很多时候,有多种方法,比如我用一个通知菜单,举例如“完成”,这俩字。我可以用sw的API来完成,也可以用.net的msgbox去完成。
我发现API有毛病,我会换个方式去实现相同的事。
插件,需要API支持,这个API,不是我们软件的文件,是你电脑里的sw的文件。插件只是通知sw,你要用你的文件A干那个事。你们家文件有毛病,我也没辙。
这里就有个前提,我得知道,确实是API有毛病,才会主动替换方法。替换方法的意思事,我跟sw说你要用文件B去干那个事,绕开A
方法,不是无限的,跟咱水平有关,如果我不知道问题出在哪,我就没办法去对症下药。
要管理员,是因为不是什么程序,windows都信得着,得主子告知windows,必须相信它干的所有事。它想干嘛就干嘛,它才允许你换1.dll,
我上边写的删除,这可不等于你delete,卸载,有卸载的逻辑,我只是简化过程

滚动至顶部