mac Adresse auslesen

06/15/2014 18:27 bass-tii#1
Hey Leute... ich versuche gerade die mac Adresse auszulesen aber irgendwie will er den String nicht finden.
Vielleicht habt ihr auch einfach eine viel bessere Lösung hier mal mein Ansatz

Code:
local $test
Local $sMAC
Local Const $sFilePath = @TempDir & "\ipconfig.txt"						//Pfad festlegen
Local $file = FileOpen($sFilePath, 0)

runWait(@comSpec & ' /c ipconfig /all > "' & @tempDir & '\ipconfig.txt"') //Datei erstellen

If $file = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")		//Datei prüfen
    Exit
EndIf

; Zeilen des Textes einlesen bis EOF
While 1
    Local $line = FileReadLine($file)

     If @error = -1 Then
		exitloop
	 endif
$sMAC = $line
MsgBox(0,"",$sMAC)
If StringRegExp($sMAC, "(?i)^([[:xdigit:]]{2}-){5}[[:xdigit:]]{2}$") Then		//..-..-..-..-..
    MsgBox(0,"bla",$line)
endif
;~     MsgBox(0, "Zeile gelesen:", $line)
 WEnd

FileClose($file)
06/15/2014 18:53 Brendan Jordan#2
Vielleicht so

PHP Code:
#include <Inet.au3>

MsgBox(0,"",_GetMACFromIP(_GetIP))
Func _GetMACFromIP($sIP)
   
Local $s$iIP ""
   
$MAC DllStructCreate("byte[6]")
   
$MACSize DllStructCreate("int")
   
DllStructSetData($MACSize16)
   
$r DllCall("Ws2_32.dll""int""inet_addr""str"$sIP)
   
DllCall("iphlpapi.dll""int""SendARP""int"$r[0], "int"0"ptr"DllStructGetPtr($MAC), "ptr"DllStructGetPtr($MACSize))
   For 
$i 0 To 5
      
If $i Then $s $s ":"
      
$s $s Hex(DllStructGetData($MAC1$i 1), 2)
   
Next
   
Return $s
EndFunc 
06/15/2014 19:01 bass-tii#3
Danke für die Mühe aber ich hab einen besseren weg gefunden Ohne MAC adresse...
06/16/2014 13:21 Lawliet#4
#closed