function GetMACAddress Local pGUID,rGUID,lcOldError, lnResult Declare integer CoCreateGuid in 'OLE32.dll' string @pguid Declare integer StringFromGUID2 in 'OLE32.dll' ; string rguid, string @lpsz, integer cchMax Declare integer UuidCreateSequential in 'RPCRT4.dll' string @ Uuid pGUID=replicate(chr(0),16) rGUID=replicate(chr(0),80) lcOldError = On('error') On Error lnResult = CoCreateGuid(@pGUID) lnResult = UuidCreateSequential(@pGUID) On Error &lcOldError return substr( iif( lnResult = 0 and ; StringFromGUID2(pGUID,@rGUID,40) # 0, ; StrConv(left(rGUID,76),6), "" ), 26,12)PS: GUID is totally different. Each time it's generated it's a different value. Under w2k, XP and later it doesn't contain MAC address. Above winAPI procedures actually get a GUID to extract MAC address but in w2k,XP and later UuidCreateSequential is used to obtain a GUID with MAC in it.