Русский   English   中文

注册方法

此方法将 DLL 导出的函数注册为 DWX 对象的方法。由该函数的名称或序号来标识。备注中解释了 "i="、"r=" 和 "f=" 的含义。

按函数名注册
DWX = new ActiveXObject("DynamicWrapperX");
DWX.Register("user32.dll", "MessageBoxW", "i=hwwu", "r=l");
res = DWX.MessageBoxW(0, "Hello, world!", "Test", 4);  // 调用.
按函数别名注册
 DWX.Register("user32:BadName", "GoodName", "r=n", "f=t");
// BadName 可能是包含字符的函数名称
// 方法在名称中不允许出现的情况,或者只是名称太长了。
按函数序号注册
DWX.Register("user32:110", "MethodName", "i=p", "r=l");
DWX.Register("user32:0x6E", "MethodName", "i=p", "r=l");
备注:

译者注:目前,JScript 语言中 ActiveXObject 对象创建仅有 IE 浏览器支持,其他现代浏览器如谷歌、火狐、苹果均未实现,因为非常不安全。试想,如果一个网页或一封邮件通过脚本代码创建 ActiveX 对象,获取了终端机器内存和磁盘的控制权,那将是一件十分危险的事情。所以,IE 浏览器也对 ActiveX 创建对象功能做出了严格的限制和提醒,而且该功能处于默认关闭状态。

因此,DWX 在 vbs 脚本中,或者其他胶水型语言(如 Python、lisp 等,尤其是 AutoLisp —— 作为 Lisp 的子集已经停止开发)中可以发挥更大的作用。