文章关键字 ‘ScriptControl’

在C语言中嵌入执行VBS

2010年08月31日,星期二

曾经在AoGo汇编小站上看到过一个在汇编中运行VBS的函数库,觉得很神奇,但是没有给出源码,不知道他是怎么实现的。直到知道了VBS中的MSScriptControl.ScriptControl对象,VBS中的对象其实就是COM组件,但当时却不知道如何在C语言中调用COM,只好作罢。现在知道后,一切水到渠成。

用OLE View打开ScriptControl的类型库

C:\Windows\system32\msscript.ocx

得到msscript.idl,然后通过midl得到.h和.c文件

midl /no_warn /h msscript.h msscript.idl

将得到的msscript.h和msscript_i.c添加到工程中,就可以在C语言中嵌入执行VBS语句了。

在VBS中执行Javascript语句

2010年08月21日,星期六

一直想写一个VBS版的六维空间作弊程序,无奈没有找到现成的VBS版Sha1函数,也许是VBS没有位操作符的缘故吧。而JavaScript版的早已实现,然后就想能不能在VBS中执行JavaScript代码,这样就可以变相实现了,当时知道的方法是WSC文件,但是我不喜欢额外的文件,只好作罢。最近偶然发现一个MSScriptControl.ScriptControl对象,可以实现这个功能,简单的示例如下,更高级的用法自己查阅帮助文档。

Dim sc
Set sc = CreateObject("MSScriptControl.ScriptControl")
sc.Language = "JScript"
result = sc.Eval("encodeURIComponent('恶魔');")
WScript.Echo result