易语言通过scriptcontrol接口执行VBScript脚本

Microsoft ScriptControl是一个ActiveX控件,Script Control 控件可以创建运行任何 ActiveX(R) scripting 引擎,我们可以在易语言里通过ScriptControl运行一个VBS文件,来分别取取CPU序列号,取硬盘序列号,取MAC地址,首先创建一个VBScript变量,类型为对象,然后创建对象VBScript,写属性 (“Language”, “VBScript”),调用数值方法 (“ExecuteStatement”,)执行我们的VBS代码,我们VBS代码写成常量,在易语言里加载。

取CPU序列号

易语言源码:

.版本 2
 
.子程序 取CPU序列号, 文本型, 公开
.局部变量 VBScript, 对象
 
VBScript.创建 (“ScriptControl”, )
VBScript.写属性 (“Language”, “VBScript”)
VBScript.数值方法 (“ExecuteStatement”, #CPUSet)
返回 (VBScript.通用方法 (“Run”, “Getcpuid”, ).取文本 ())

VBS

Function Getcpuid() 
Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Processor")
    For Each cpu In cpuSet
      getcpuid=cpu.ProcessorId
      exit for
    Next
end Function

取硬盘序列号

易语言源码

.版本 2
 
.子程序 取硬盘序列号, 文本型, 公开
.局部变量 VBScript, 对象
 
VBScript.创建 (“ScriptControl”, )
VBScript.写属性 (“Language”, “VBScript”)
VBScript.数值方法 (“ExecuteStatement”, #HdSet)
返回 (VBScript.通用方法 (“Run”, “Gethardid”, ).取文本 ())

vbs

Function gethardid() 
Dim hdid,hd
    Set hdid =GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_PhysicalMedia")
    for each hd in hdid
    gethardid = hd.SerialNumber
    exit for
    next
End Function

取MAC地址

易语言源码

.版本 2
 
.子程序 取MAC地址, 文本型, 公开
.局部变量 VBScript, 对象
 
VBScript.创建 (“ScriptControl”, )
VBScript.写属性 (“Language”, “VBScript”)
VBScript.数值方法 (“ExecuteStatement”, #MACSet)
返回 (VBScript.通用方法 (“Run”, “MACAddress”, ).取文本 ())

VBS

Function MACAddress() 
Dim mc,mo
    Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
    For Each mo In mc
        If mo.IPEnabled=True Then
           MACAddress= mo.MacAddress
           Exit For
        End If
    Next 
End Function

分享到:

用微信扫一扫,分享给朋友


发布日期:

所属分类: 编程 标签: