Verständnissfrage zu .SetbinaryValue und AND,OR,NOT
Hallo zusammen,
Auf der Suche nach einer Möglichkeit ein einzelnes Bit in einem Registry Eintrag vom Typ REG_Binary zu setzen, bin ich auf folgendes VBS Script gestossen:
In diesem Beispiel wird in der Taskleiste die Uhr eingeschaltet.. Nicht spannend, aber die Methode ist interessant..
Der Author auf der Seite erklärt auch die Funktionsweise sehr ausführlich (www.insidetheregistry.com/content/viewarticle.aspx?articleid=1664)
Die Zeile "iValueArray(8) = (iValueArray(8) AND &h07) OR &h08" ist dabei alles entscheidend. Hier wird im neunten Byte das 5te BIT gesetzt. Leider versteh ich nicht was hier genau passiert
Wie funktionieren hier die Operatoren AND, OR, NOT???
Der Author erklärt hier leider nichts..
" If you don’t know AND, OR and NOT go to Wikipedia as this is already getting too long and I’m boring you enough, but needless to say, in the script I could AND or AND and OR my current binary number with a new one containing the flipped bit to turn on the clock, this is done like this…
Nach zwei Tagen vegeblichen googlen bin ich immer noch nicht schlauer..
Weiß jemand wie das mit "AND, OR, NOT" funktioniert oder hat einen Link mit einer Erklärung dazu?
Mir geht es nicht darum, wie man die Uhr ein oder ausschaltet.. ist ja nur ein Beispiel...Mich interessiert die Möglichkeit ein einzelnes BIT zu ändern ohne die anderen gesetzten Bits zu ändern.
Auf der Suche nach einer Möglichkeit ein einzelnes Bit in einem Registry Eintrag vom Typ REG_Binary zu setzen, bin ich auf folgendes VBS Script gestossen:
const HKCU = &H80000001
dim oWMIReg
set oWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
dim iValueArray()
oWMIReg.GetBinaryValue HKCU, "Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", "Settings", iValueArray
iValueArray(8) = (iValueArray(8) AND &h07) OR &h08
oWMIReg.SetBinaryValue HKCU, "Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", "Settings", iValueArray
Der Author auf der Seite erklärt auch die Funktionsweise sehr ausführlich (www.insidetheregistry.com/content/viewarticle.aspx?articleid=1664)
Die Zeile "iValueArray(8) = (iValueArray(8) AND &h07) OR &h08" ist dabei alles entscheidend. Hier wird im neunten Byte das 5te BIT gesetzt. Leider versteh ich nicht was hier genau passiert
Wie funktionieren hier die Operatoren AND, OR, NOT???
Der Author erklärt hier leider nichts..
" If you don’t know AND, OR and NOT go to Wikipedia as this is already getting too long and I’m boring you enough, but needless to say, in the script I could AND or AND and OR my current binary number with a new one containing the flipped bit to turn on the clock, this is done like this…
Nach zwei Tagen vegeblichen googlen bin ich immer noch nicht schlauer..
Weiß jemand wie das mit "AND, OR, NOT" funktioniert oder hat einen Link mit einer Erklärung dazu?
Mir geht es nicht darum, wie man die Uhr ein oder ausschaltet.. ist ja nur ein Beispiel...Mich interessiert die Möglichkeit ein einzelnes BIT zu ändern ohne die anderen gesetzten Bits zu ändern.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127355
Url: https://administrator.de/contentid/127355
Ausgedruckt am: 19.10.2024 um 15:10 Uhr
1 Kommentar
Hallo dimento!
Ich denke anhand einer Tabelle, ist das Ganze besser zu verstehen
Gruß Dieter
Ich denke anhand einer Tabelle, ist das Ganze besser zu verstehen
Gruß Dieter