Ich habe gerade nochmal nachgedacht und eine Lösung gefunden ich werde mich wieder melden wenn ich es habe.
ich würde für ein kleines Tool gerne alle MAC-Adressen des Rechners auslesen.
Ich habe da auch schon die passende Funktion gefunden, nur weiß ich sie nicht für meine bedürfnisse umzuschreiben. Und da dachte ich, dass ihr mir vieleicht einen kleinen Denkanstoß bekommen könnte:
Code: Alles auswählen
def _ipconfig_getnode():
"""Get the hardware address on Windows by running ipconfig.exe."""
import os, re
dirs = ['', r'c:\windows\system32', r'c:\winnt\system32']
try:
import ctypes
buffer = ctypes.create_string_buffer(300)
ctypes.windll.kernel32.GetSystemDirectoryA(buffer, 300)
dirs.insert(0, buffer.value.decode('mbcs'))
except:
pass
for dir in dirs:
try:
pipe = os.popen(os.path.join(dir, 'ipconfig') + ' /all')
except IOError:
continue
for line in pipe:
value = line.split(':')[-1].strip().lower()
if re.match('([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]', value):
return int(value.replace('-', ''), 16)
Das ist hier vieleicht nicht richtig plaziert aber mir ist aufgefallen das die Funktion "_netbios_getnode()" in UUID einen Tipp fehlen enthält.
Code: Alles auswählen
def _netbios_getnode():
"""Get the hardware address on Windows using NetBIOS calls.
See http://support.microsoft.com/kb/118623 for details."""
import win32wnet, netbios
ncb = netbios.NCB()
...
Patrick