Here's a Windows-only function that returns the serial numbers of all USB
storage devices known to the OS (cameras, external drives, flash drives). Watch
line wraps in the queryRegistry lines especially!
This was tested on XP only.
Merry Christmas!
Phil Davis
on mouseUp
put usbDriveSerialNumbers() into fld 1
end mouseUp
function usbDriveSerialNumbers
# Return a return-delimited list of USB storage device serial numbers
-- bail out is platform is not Windows
if the platform <> "Win32" then return empty
-- get 'Count' DWORD value from registry
put
queryRegistry("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum\Count")
into regCount
-- convert registry DWORD value to a signed integer
put empty into tCount -- init required for use in binaryDecode
get binaryDecode("i1",regCount,tCount)
-- bail out if no USB storage devices were found
if tCount = zero then return empty
-- extract serial numbers from registry entries
put zero into x
set the itemDelimiter to backslash
repeat tCount times -- starting with entry 0
put
queryRegistry("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum\"
& x) into tData
put last item of tData & cr after tList
add 1 to x
end repeat
delete last char of tList -- the trailing CR
-- pass info back to caller
return tList
end usbDriveSerialNumbers
_______________________________________________
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