曾经在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语句了。