On 30/03/2010, at 2:51 PM, Joe F. wrote:
Does anyone know of a way to identify the Windows machine of a
certain user in a reliable way.
I want my app to download a stack file which will only run on one
user's machine.
Is there a way to access something like a MAC number or some unique
identifier on Windows machines.
Yep:
# GetMACAddress()
#
# Function to return the MAC address
#
# Makes use of ifconfig on OS X and ipconfig on Windows
function getMACAddress
-- value to return
local retVal
switch (the platform)
case "MacOS"
if the systemVersion < 10 then
-- MacOS
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
-- OS X
put shell("ifconfig en0") into ifConfigs
if char 1 to 4 of ifConfigs = "zsh:" then
return "Error retrieving interface configuration."
else
get matchText(ifconfigs,"(?s)ether (.*?) ",retVal) -- These
are spaces on either side of (.*?)
if it is false then
return "Error retrieving MAC address."
end if
end if
end if
break
case "Win32"
-- All Windows
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
get matchText(temp,"Physical Address[\. ]*: ([A-Z0-9-]*)",retVal)
else
return "Error retrieving MAC address."
end if
break
end switch
return retVal
end getMACAddress
Bonus question:
Is there a good way to make a stack self-destruct?
Just don't let the user save the file if you only want it run just
after the download.
use:
go stack url http://www.myserver.com/test.rev
Cheers
Monte
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution