Structure Variant
Type.w
Reserved1.w
Reserved2.w
Reserved3.w
String.l
EndStructure
#VT_BSTR = 8
x.Variant\Type = #VT_BSTR
DataSection
meine_vbs:
IncludeBinary "tmp.vbs"
Data.b 0
EndDataSection
Procedure.l Ansi2Uni(ansi.s)
size.l=MultiByteToWideChar_(#CP_ACP,0,ansi,-1,0,0)
Dim unicode.w(size)
MultiByteToWideChar_(#CP_ACP, 0, ansi, Len(ansi), unicode(), size)
ProcedureReturn @unicode()
EndProcedure
Procedure.s Uni2Ansi(*Unicode.l)
size.l = WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, #Null, #Null, #Null, #Null)
ansi.s=Space(size)
WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, @ansi, size, #Null, #Null)
ProcedureReturn ansi
EndProcedure
Enumeration ; ScriptControlStates
#Initialized = 0
#Connected = 1
EndEnumeration
; DispInterfaces
Interface IScriptProcedure Extends IDispatch
get_Name(a)
get_NumArgs(a)
get_HasReturnValue(a)
EndInterface
Interface IScriptProcedureCollection Extends IDispatch
get__NewEnum(a)
get_Item(a,b,c,d,e)
get_Count(a)
EndInterface
Interface IScriptModule Extends IDispatch
get_Name(a)
get_CodeObject(a)
get_Procedures(a)
AddCode(a)
Eval(a,b)
ExecuteStatement(a)
Run(a,b,c)
EndInterface
Interface IScriptModuleCollection Extends IDispatch
get__NewEnum(a)
get_Item(a,b,c,d,e)
get_Count(a)
Add(a,b,c)
EndInterface
Interface IScriptError Extends IDispatch
get_Number(a)
get_Source(a)
get_Description(a)
get_HelpFile(a)
get_HelpContext(a)
get_Text(a)
get_Line(a)
get_Column(a)
Clear()
EndInterface
Interface IScriptControl Extends IDispatch
get_Language(a)
put_Language(a)
get_State(a)
put_State(a)
put_SitehWnd(a)
get_SitehWnd(a)
get_Timeout(a)
put_Timeout(a)
get_AllowUI(a)
put_AllowUI(a)
get_UseSafeSubset(a)
put_UseSafeSubset(a)
get_Modules(a)
get_Error(a)
get_CodeObject(a)
get_Procedures(a)
_AboutBox()
AddObject(a,b,c)
Reset()
AddCode(a)
Eval(a,b)
ExecuteStatement(a)
Run(a,b,c)
EndInterface
CoInitialize_(0)
If CoCreateInstance_(?CLSID_ScriptControl,0,1,?IID_IScriptControl,@Object.IScriptControl) = 0
object\reset()
object\put_Language(Ansi2Uni("vbscript"))
object\AddCode(Ansi2Uni(PeekS(?meine_vbs)))
;
object\Eval(Ansi2Uni("soft"),@x)
meine_variX.s = UCase(uni2ansi(x\String))
;
object\reset()
;
object\release()
EndIf
CoUninitialize_()
MessageRequester("vbs variable",meine_variX,#PB_MessageRequester_Ok)
DataSection
CLSID_ScriptControl:
Data.l $0e59f1d5
Data.w $1fbe,$11d0
Data.b $8f,$f2,$00,$a0,$d1,$00,$38,$bc
IID_IScriptControl:
Data.l $0e59f1d3
Data.w $1fbe,$11d0
Data.b $8f,$f2,$00,$a0,$d1,$00,$38,$bc
EndDataSection