COM接口调用 1.注册: 注册有两种方法:常规注册方法、进程内注册方法。常规注册方法会写注册表,可能导致安全软件报警或者被检测。进程内注册方法不写注册表,没有这些问题,但是只在当前进程有效,新的进程要重新注册。 1)常规注册方法:在同一台电脑上,模块文件或者路径不变化时,只要注册一次即可。 注册本模块可使用regsvr32命令,也可以直接调用本模块的DllRegisterServer接口。 注册本模块的vbs例子如下(管理员权限): Set wshshell = CreateObject("wscript.shell") wshshell.run "regsvr32 /s ""D:\Plugin\wyhkm.dll""" 无管理员权限注册模块的例子如下: Set wshshell = CreateObject("wscript.shell") wshshell.run "regsvr32 /s /n /i:user ""D:\Plugin\wyhkm.dll""" 注意:如果在64位系统中使用的是32位模块,双击直接运行vbs文件是用64位脚本执行器执行,会导致失败。运行C:\Windows\SysWOW64\cmd.exe,再到其中运行vbs就能正常调用模块了。 2)进程内注册方法:调用模块的DllInstall导出函数,第一个参数传入32位整型数1,第二个参数传入32/64位整型数2(32位模块中是32位整型数,64位模块中是64位整型数)。返回值大于等于0时注册成功。vbs不支持直接调用dll的导出函数,这里就不给例子了。 2.创建对象: 模块中的函数使用前,先创建对象,再使用对象调用函数。 创建本模块的对象的vbs例子如下: Set wyhkm=CreateObject("wyp.hkm") 调用函数的完整例子(不包含注册): Set wyhkm=CreateObject("wyp.hkm") ver = wyhkm.GetVersion() MsgBox "模块版本:" & Hex(ver), 4096