ich habe das Problem, daß ich mit VB6 offenbar nicht mehr so einfach an die Registrierung rankomme, wie mit VBA. Nun fand ich aber die Möglichkeit, mit VBScript die Registrierung zu bearbeiten und frage mich jetzt natürlich, wie ich VBScript-Code in ein VB6-Projekt reinbekomme.
Eben habe ich mal mit dem ScriptControl kurz rumgespielt, aber bei Wscript.CreateObject macht er nicht mehr mit:
ScriptControl1.AddCode "Sub Main :
Dim WSHShell As Object :
Set WSHShell = Wscript.CreateObject(""WScript.Shell"") :
MsgBox WSHShell.RegRead(""HKEY\_LOCAL\_MACHINE\Network\Logon\username"") :
End Sub"
ScriptControl1.Run "Main"
Was kann man da machen bzw. wo ist der Haken bei der Geschichte? Direkt als *.vbs mit Doppelklick gestartet funktioniert der Code schließlich.
Wieso instanzierst Du nicht das DLL dirket von VB aus?
So z.b.:
sub Command1_Click()
Dim WSHShell As Object
Set WSHShell = CreateObject(„WScript.Shell“)
MsgBox WSHShell.RegRead(„HKEY_LOCAL_MACHINE\Network\Logon\username“)
end sub
Das hatte ich eigentlich auch gedacht, deshalb war ich etwas erstaunt, zumindest so direkt nichts zu finden (sprich: Hilfe).
Wieso instanzierst Du nicht das DLL dirket von VB aus? So z.b.:
> Sub Command1\_Click()
> Dim WSHShell As Object
> Set WSHShell = CreateObject("WScript.Shell")
> MsgBox WSHShell.RegRead("HKEY\_LOCAL\_MACHINE\Network\Logon\username")
> End Sub
Genau das hatte ich natürlich als erstes probiert, aber es ging nicht. Bei der Set-Anweisung machte er Schluß mit dem Hinweis, daß man ein Objekt benötige oderso. Auch ein Verweis auf das Scripting-Host-Teil half nicht. Ist ja auch nur das ScriptControl drin enthalten. Frage also: Geht’s bei Dir? Dann sage mir bitte, was ich falsch mache!
Genau. Und das ganze API-Zeug muß ich mir endlich mal aneignen. Das Problem hier war, daß ich zwar von den Funktionen RegCreateKey, RegDeleteKey undso wußte, aber nicht rausbekam, wie sie einzusetzen sind (welche Parameter undso). Kriegt man das irgendwo raus, a) was es so alles für API-Funktionen gibt, b) wo sie sich verstecken und c) wie die Syntax ist?
Danke jedenfalls erstmal für den Link, wird mir sicher gut weiterhelfen!
Damit kommt man nur an die für VB reservierten Bereiche ran. Trotzdem guter Tip.
oder Verweis bilden auf Windows Script Host Object Modell
dann folgenden code
Dim WSH As New IWshShell_Class
Dim s As String
s = WSH.RegRead(„HKEY_LOCAL_MACHINE\Network\Logon\username“)
Ersteres war ja erfolgt, aber das mit dem Objekt klappte nicht. Ich werde statt dessen mal die IWshShell_Class ausprobieren. Woher soll man die nun wieder kennen, wenn nicht aus dem WeWeWa?!