Wie append, binary-Werte in VBScript
Wenn ich zwei Variablen, die binäre Werte haben, wie kann ich anfügen Sie zusammen als ein binärer Wert? Zum Beispiel, wenn ich WMI benutzt, das registry zu Lesen von zwei REG_BINARY-Wert, dann möchte ich in der Lage sein zu verketten der Werte.
VBScript beschwert sich ein "type mismatch", wenn Sie versuchen, sich mit dem '&' - operator.
- Klären Sie, was Sie bedeuten werden "binäre Werte". Die erste Hälfte und die zweite Hälfte ein JPG? Wenn Sie kombiniert werden, was sollte Sie haben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
REG_BINARY-Wert zurückgegeben wird als ein array von bytes. VBScript kann eine Referenz zu einem array von bytes in eine variable und übergeben dieses array von bytes, die entweder als Variante zu einer anderen Funktion oder als Referenz zu array von bytes. Allerdings VBScript selbst tun können, nichts mit dem array.
Sind Sie gehen zu müssen einige andere Komponenten zu tun, einige aus der Verkettung:-
In dem obigen code, den ich bin mit dem ADODB.Stream-Objekt, das überall auf den derzeit unterstützten Plattformen.
Wenn Sie hatte eigentlich mehrere arrays, die Sie verketten möchten, dann könnten Sie die folgende Klasse:-
Aufruf von append, so oft wie Sie arrays und abrufen das resultierende array mit GetArray.
Für das Protokoll, ich wollte VBScript-code für eine große userbase wie Sie ein Anmeldeskript, das die geringste chance hat zu scheitern. Ich mag die ADO-Objekte, aber es gibt so viele mysteriöse Weise ADO gebrochen werden kann, so scheue ich von ADODB.Stream.
Statt, ich war in der Lage zu schreiben, die den conversion-code zu konvertieren Binär zu hex-kodierte strings. Dann, zurück zu schreiben, um eine
REG_BINARY
Wert, ich wandeln es in ein array von Integer-zahlen und geben Sie es an dieSetBinaryValue
WMI-Methode.Hinweis:
WshShell
können nur mitREG_BINARY
Werte mit 4 bytes, also ist es unbrauchbar.Danke für die Rückmeldung.
Vielleicht...