in reply to Getting Hardware Keys from Windows

If you want the Windows Drive Serial number, the Win32API::File package can do what you want. I'm not sure if it's current or deprecated.

Try
use Win32API::File qw (:Func ); my ( $sRootPath, $osVolName, $lVolName, $ouSerialNum, $ouMaxNameLen, $ +ouFsFlags, $osFsType, $lFsType ); $sRootPath = "C:/"; GetVolumeInformation( $sRootPath, $osVolName, $lVolName, $ouSerialNum, + $ouMaxNameLen, $ouFsFlags, $osFsType, $lFsType ); #---- print "\nRoot:\t$sRootPath\n"; print "VolName:\t$osVolName\n"; print "SerialNumber:\t$ouSerialNum\n"; printf "Hex SerialNumber:\t%x\n", $ouSerialNum;
For me, this returns
Root: C:/ VolName: mecano SerialNumber: 2226596281 Hex SerialNumber: 84b729b9
the stardard 'vol c:' (which you could backtick) returns
>vol c: Volume in drive C is mecano Volume Serial Number is 84B7-29B9
-jim

Update: forgot the 'use' line in the code snippet

Replies are listed 'Best First'.
Re^2: Getting Hardware Keys from Windows
by Anonymous Monk on Oct 27, 2004 at 18:33 UTC
    This gets the VOLUME serial number. Not the manufacturers.
    The volume SN changes every time the disk is partitioned or formatted.

    Is there a Perl module for getting the manufacturers SN?

      Another reason that you may need the manufacturer's Serial Number: it's possible to change the volume serial number via software

      I found this when investigating the above post:

      Changing volume's serial number