win_did.cpp
Upload User: dq031136
Upload Date: 2022-08-08
Package Size: 802k
Code Size: 1k
Development Platform:

C++ Builder

  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. void main(void)
  5.  {
  6.     char szBuffer[MAX_PATH+100];
  7.     DWORD dwLogicalDrives = GetLogicalDrives();
  8.      for ( nDrive = 0; nDrive<32; nDrive++ )
  9.        {
  10.         if ( dwLogicalDrives & (1 << nDrive) )
  11.           { // Is drive available?
  12.            UINT  uType;                 // type of drive.
  13.             // Get disk information.
  14.             wsprintf( szBuffer, "%c:\", nDrive+'A' );
  15.             uType = GetDriveType(szBuffer);
  16.             // Print out information.
  17.             wsprintf(&szBuffer[3], " Id: %u, Type: %s ", uType,
  18.                    (uType == DRIVE_REMOVABLE) ? "FLOPPY" :
  19.                               ((uType == DRIVE_FIXED) ?  "HARD DISK" :
  20.                               ((uType == DRIVE_REMOTE) ? "NETWORK" :
  21.                               ((uType == DRIVE_CDROM) ?  "CDROM" :
  22.                               ((uType == DRIVE_RAMDISK) ? "RAMDISK" :
  23.                               ((uType == 1) ? "DOES NOT EXIST" :
  24.                               "UNKNOWN DRIVE TYPE" ))))));
  25.             printf("%sn", szBuffer);
  26.           }
  27.          }
  28. }