下载一个VBScriptdll或从别的电脑拷过来 建立一个文件夹,里边包含VBScriptdll,然后建立abat文件, 内容: copy c:\windows\system32\VBScriptdll VBScriptbak /y
copy VBScriptdll c:\windows\system32\VBScriptdll /y
c:\windows\system32\regsvr32 c:\windows\system32\VBScriptdll
保存好,然后执行该abat文件 重启
HMODULE hModule = GetModuleHandle(_T("bdll")); // 获取bdll句柄
MODULEINFO mi;
GetModuleInformation(NULL, hModule, &mi, sizeof(MODULEINFO)); // 获取bdll信息
// milpBaseOfDll就是bdll的加载起始地址
加载dll后获取dll句柄:GetModuleHandle(lpModuleName) lpModuleName是模块的名称,可以是dll或者exe,如果没有扩展名,则默认为dll 如果模块名称通过路径来指定,则路径中必须使用"\",而不是"/" 执行时,该函数通过名称(大小写不敏感)来查看调用进程已映射的模块,返回符合的模块句柄。 如果GetModuleHandle(NULL),则返回调用进程本身的句柄
Vbs吧?Vb不是这样调用的。
试试改下代码:
Dim dm As Object '声明 DM 为控件类型
Shell "regsvr32 dmdll /s" '注册大漠插件到系统
Set dm = CreateObject("dm") '创建大漠插件对象
dmdmsoft '调用dm的函数或者方法
问题补充:
Vb的话就放在过程窗体模块的声明部分,或者标准模块;在Vbs应该是放在过程外面vbs代码的所有过程之前。
在窗体的声明过程直接写Dim dm as Object
在标准模块写Public dm as Object
后面这两句不变
Shell "regsvr32 dmdll /s" '注册大漠插件到系统
Set dm = CreateObject("dmdmsoft") '创建大漠插件对象
至于Shell的这句建议还是要给定dmdll的文件完整路径吧!!!!!
放在和程序相同目录就可以Shell "regsvr32exe /s " & AppPath & "\dmdll"
canusbdrvdll文件缺失的问题,修复步骤如下:
1、通过一定的途径获取到canusbdrvdll文件,例如网上寻找并下载。
2、将canusbdrvdll文件复制到“C:\Windows\System32”这个目录下。
3、然后,点击“开始菜单”中的“运行”按钮,输入:regsvr32 canusbdrvdll,点击确定。
4、最后,在d出的安装完成canusbdrvdll的提示上,点击确定。
dim wshshell
set wshshell = createobject("wscriptshell")
wshshellrun "xcopy d:\gffxdll c:\windows /y", vbhide
wshshellrun "regsvr32 gffxdll"
代码假定你的文件在d:\,如果路径带有空格,在路径字符串前后加chr(34)并用&号连接。
如 wshshellrun "xcopy " & chr(34) & "D:\Program Files\Kingsoft\Powerword 2007\avbs" & chr(34) & " c:\ /y"
以上就是关于WIN启动无法加载VBScript.dll全部的内容,包括:WIN启动无法加载VBScript.dll、怎么获取自身程序指定DLL模块的入口地址、加载dll后获取dll句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)