使用vbs获取dta与hta一起工作

时间:2015-03-10 09:40:19

标签: dll vbscript hta

我试图让vbScript在hta中工作。

当我独立运行它时,vbs工作正常,但是当我尝试在hta中使用它时,它无法加载dll文件。

我尝试使用regasm / codebase来注册dll,但这也没有帮助。使用regsvr32不是一个选项,因为它无法在计算机上以管理员身份运行。

我使用ExecuteGlobal将vbs文件放入hta中,但我也尝试过从hta运行vbs的命令,但它仍然失败。

我是否忽略了一些微不足道的事情?

2 个答案:

答案 0 :(得分:0)

您可以使用Regsvr32注册COM dll(通常,但有例外,如RTF 5和更高版本的控制)。您可以使用RegAsm注册假装为COM dll的.NET dll。 两者都需要管理员权限

* .NET dll将核心.NET dll注册为COM处理程序,它将COM调用分派给.NET组件DLL,这与COM不同,通常不会妨碍它。

要注册.NET dll而不是管理员要求您从RegAsm导出为reg文件(非管理员可以这样做)。使用HKCR搜索并替换HKCU\Software\Classes。然后,非管理员可以合并reg文件。

答案 1 :(得分:0)

当告诉Windows运行一个hta时,它将自动假定为32位。要使其在64位系统上运行,请使用%WinDir%\System32\mshta.exe c:\page.hta

需要使用某种包装器或启动器来确保运行正确的mshta版本