le有5种类型的插件,script,exe,com,dll,sendkey
除了exe可以不倚靠ini文件外,其余类型的插件都需要一个ini文件,用于记录一些基本数据.
ini文件的格式大概如下
[General]
#le插件的标志,值恒为 LE_Plugin
Flag=LE_Plugin
#名称
Title=例子
#文件名,指向确实的文件,处在当前目录的需要添加"./",不包括引号
FileName=./Sample.htm
#也就是执行与存在方式,可以是 command,sideband,toolband, 对应的是 命令,侧边栏,工具栏,
PluginType=Command
#插件类型,可以是script,exe,com,dll,sendkey
ModuleType=Script
#在程序中使用的图标,若为空则会使用默认图标
IconFile=Klenex.ico
#由ModuleType确定接着要填写的内容,script对应[script],exe对应[exe]等等,以此类推
#分别列出些例子
[Script]
#脚本语言,一般是 vbscript,javascript
Language=vbscript
#执行类型,可以有三个值,0:在顶层页面中执行,1:在页面中的每一个frame都执行,2:仅在鼠标所在的frame中执行
RunType=0
#程序启动时是否加载脚本,0:启动时不加载,1:启动时加载
#对于一些不太常用的脚本,可以将其设置成在使用时再加载
LoadAtExec=0
[exe]
#也就是exe文件的命令行参数了
Param=
[com]
ClassID={3C4E79A3-19B7-4FAF-AC84-8698A2D59693}
[dll]
#这个是个整数,调用dll时的一个参数
Message=1
[sendkey]
#这里填入的直接就是sendkey的内容
如何写具体内容:
1.命令型(command)插件:
a.script:
这是脚本型的插件,其实就是html中使用的脚本,只是不需要包括<script>标记就是了
b.exe:
呵呵,这个没什么好说的
c.com:
需要implement ILEpluginCmd,这个类在库LEPluginLib.tlb中有提供,
具体看例子吧
d.dll:
就是动态连接库了,vb要做动态链接库,其实还是可以的,
这个插件需要提供一个函数 ShellWeb,带有4个参数,如(vb写法):
Public Function ShellWeb(ByVal vWeb As SHDocVw.WebBrowser, ByVal uMsg&, ByVal wParam&, ByVal lParam&) As Long
vWeb就是当前页面对应的SHDocVw.WebBrowser
uMsg对应于ini文件的Message,利用这个参数可以令一个函数实现不同功能
wParam,lParam作为保留参数,暂时未用
e.sendkey:
这个的功能就是发送key了,用法与规则参看vb,vbscript的sendkeys
2.侧边栏(sideband):
侧边栏型的有两种,com,html
a.com
需要implement ILESideBand,这个类在库LEPluginLib.tlb中有提供,
具体看例子吧
b.html
只需要一个html文件即可
3.工具栏(toolband):功能暂时未完成