Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Verständnissfrage zu .SetbinaryValue und AND,OR,NOT

Frage Entwicklung VB for Applications

Mitglied: dimento

dimento (Level 1) - Jetzt verbinden

18.10.2009 um 11:43 Uhr, 4368 Aufrufe, 1 Kommentar

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:

01.
const HKCU = &H80000001 
02.
dim oWMIReg 
03.
set oWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")  
04.
dim iValueArray() 
05.
oWMIReg.GetBinaryValue HKCU, "Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", "Settings", iValueArray 
06.
iValueArray(8) = (iValueArray(8) AND &h07) OR &h08 
07.
oWMIReg.SetBinaryValue HKCU, "Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2", "Settings", iValueArray
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.
Mitglied: 76109
18.10.2009 um 22:26 Uhr
Hallo dimento!

Ich denke anhand einer Tabelle, ist das Ganze besser zu verstehen



Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...