; **** Get Drives **** bitmask.l = GetLogicalDrives_() ; not a PB Function, its Windows API (becourse of the '_' ) ; each bit represents one drive. drives.s = "" one.l = 1 For i = 0 To 31 ; go from bit 0 to 31. If bitmask & one<<i ; the 'one<<i' thingy is a bit tricky, what it does is something like 2^i ; '&' is bitwise AND operator, so if the bit i is one, the whole thing returns true. drives = drives + Chr(65+i) ; add the driveletter to the string. EndIf Next i MessageRequester("DRIVES",drives,0) ; displays the result. End