On Oct 4, 2007, at 8:43 AM, Ken Ray wrote:

On Thu, 4 Oct 2007 15:32:34 +0100, David Burgun wrote:

Hi,

How can I get the MAC addresses of all appropriate devices on a
system? e.g. if a system has Ethernet and BlueTooth, I want the MAC
address of both devices. This has to work on Mac OS X and Windows.

Well, there's a tip about getting the MAC Address here:

  http://www.sonsothunder.com/devres/revolution/tips/env001.htm

Although it is designed for Ethernet, it could easily be adapted for
BlueTooth, I'd think.



This is from Ken's site slightly modified (windows portion) to look for the ethernet mac address. On windows, the order in which config / all provides is based on which device is currently connected to the internet.

All you need to do is take out the references to Canela Software and put your company name in there.


-Mark Talluto



function GetMACAddress
    local retVal
    switch (the platform)
        case "MacOS"
            set the itemdel to "."
            if item 1 of the systemversion < 10 then
                set the directory to specialfolderpath("apple")
put "tell application" && quote & "Apple System Profiler" & \ quote & cr & "get Appletalk address" & cr & "end tell" into getMACScript put "tell application" && quote & "Apple System Profiler" & \ quote & cr & "close window" && quote & "Apple System Profiler" & quote & \
                        cr & "end tell" into quitASPScript
                do getMACScript as AppleScript
                put the result into retVal
                do quitASPScript as AppleScript
                replace "{" with "" in retVal
                replace "}" with "" in retVal
                replace quote with "" in retVal
            else
                put shell("/sbin/ifconfig en0") into ifConfigs
                if char 1 to 4 of ifConfigs = "zsh:" then
return "An error has occurred. Please contact CANELA Software for support."
                else
get matchtext(ifconfigs,"(?s)ether (.*?) ",retVal) -- These are spaces on either side of (.*?)
                    if it is false then
return "An error has occurred. Please contact your vendor for support."
                    end if
                end if
            end if
            break

        case "Win32"
put (there is a file (specialfolderpath("system") & "/ IPCONFIG.EXE")) into winExists put (there is a file (specialfolderpath("system") & "/ SYSTEM32/IPCONFIG.EXE")) into sys32Exists
            if winExists or sys32Exists then
                set the hideconsolewindows to true
                put shell("ipconfig /all") into temp

                --FOCUS ON ETHERNET
                put offset("Ethernet adapter",temp) into tOffsetResult
                delete char 1 to (tOffsetResult-1) in temp

                --DO ENGLISH CHECK
get matchtext(temp,"Physical Address[\. ]*: ([A- Z0-9-]*)",retVal)
                if retVal is empty then --DO GERMAN CHECK
get matchtext(temp,"Physikalische Adresse[\. ]*: ([A-Z0-9-]*)",retVal)
                end if
                if retVal is empty then --DO SPANISH CHECK
get matchtext(temp,"Dirección física[\. ]*: ([A- Z0-9-]*)",retVal)
                end if
                if retVal is empty then --DO FRENCH CHECK
get matchtext(temp,"Adresse physique[\. ]*: ([A- Z0-9-]*)",retVal)
                end if
            else
return "An error has occurred. Please contact your vendor for support."
            end if
            break

        case "Linux"
            if there is a file("/sbin/ifconfig") then
                put shell("/sbin/ifconfig") into temp
                get matchtext(temp,"HWaddr[* ]([0-9A-Z:]*)",retVal)
            else
return "An error has occured. Please contact your vendor for support."
            end if
            break

    end switch
    return retVal
end GetMACAddress_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to