Rickey, Kyle W wrote:

How do I get the volume serial number for a drive? For example in the cmd prompt issuing this:

C:\>vol C:

 Volume in drive C is LABEL

 Volume Serial Number is FFFF-0000

Is the volume serial number wrapped by pywin32? I found the function win32api.GetVolumeInformation, but it doesn’t seem to return what I want.


Yes, actually, it does. The second item in the tuple it returns is the VSN as a 32-bit binary value.

You were probably confused because Python showed it to you as a signed decimal integer. If your VSN is really FFFF-0000, then it probably showed you -65535. If you print that in hex, you get -FFFF, and if you treat that as unsigned, you get FFFF0000.

I wish I knew a better way to do the signed/unsigned mangling, but try this:

   def UnsignedHex( v ):
       if v >= 0: return '%08X' % v
       return '%08X' % (0x100000000 + v )
   print UnsignedHex( win32api.GetVolumeInformation('C:\\')[1] )

--
Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.

_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to