2017-05-17 2 views
1

Ich habe diesen CodeWie Registrierungswert mit winreg

from winreg import * 
aReg=ConnectRegistry(None, HKEY_CURRENT_USER) 
aKey=OpenKey(aReg, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Accent') 
aKey=EnumValue(aKey, 0) 
print(aKey[1]) 

Und wenn ich es laufen, es gibt diese b'\xb3\xec\xff\x00\x80\xe0\xff\x00Y\xd6\xff\x00)\xa4\xcc\x00\x00s\x99\x00\x00Ws\x00\x00:M\x00\x88\x17\x98\x00'

aber in Registrierungs-Editor entschlüsseln, sieht es wie folgt aus:

enter image description here

Ich möchte fragen, wie man das erste bis zweite entschlüsselt.
Danke für jede Antwort. :)

Antwort

0

ich dies schrieb, arbeitet :)

from winreg import * 

def getAccentColor(): 
    """ 
    Return the Windows 10 accent color used by the user in a HEX format 
    """ 
    registry = ConnectRegistry(None,HKEY_CURRENT_USER) 
    key = OpenKey(registry, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Accent') 
    key_value = QueryValueEx(key,'AccentColorMenu') 
    accent_int = key_value[0] 
    accent = accent_int-4278190080 
    accent = str(hex(accent)).split('x')[1] 
    accent = accent[4:6]+accent[2:4]+accent[0:2] 
    return '#'+accent 
1

Wenn Sie einen bestimmten Wert wollen (und nicht jeden Wert einen nach dem anderen aufzählt), können Sie die QueryValueEx() Funktion wie folgt:

from winreg import * 

hreg = ConnectRegistry(None, HKEY_CURRENT_USER) 
hkey = OpenKey(hreg, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Accent') 
accent_color_menu = QueryValueEx(hkey, 'AccentColorMenu')[0] 
CloseKey(hkey) 

print(accent_color_menu) 

Dies würden Sie so etwas wie:

4292311040 
+0

Wie ich es umwandeln kann verhexen? –

+0

Sie meinen als String? 'print (hex (accent_color_menu))' würde es tun. –

+0

Aber das ist kein Farbcode .. –

Verwandte Themen