#include <iostream> #include <tchar.h> #include <Windows.h>
using namespace std;
int main(void) { DWORD drives = GetLogicalDrives(); cout << "Drives Mask: " << drives << endl;
TCHAR str[100]; LPTSTR pStr = str; HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); GetLogicalDriveStrings(sizeof(str), str); while (*pStr != '\0') { size_t len = _tcslen(pStr); WriteConsole(hConsoleOutput, pStr, len, NULL, NULL); cout << ": ";
UINT uType = GetDriveType(pStr); switch (uType) { case DRIVE_NO_ROOT_DIR: cout << "空驱动器"; break; case DRIVE_REMOVABLE: cout << "可移动磁盘"; break; case DRIVE_FIXED: cout << "硬盘"; break; case DRIVE_REMOTE: cout << "网络驱动器"; break; case DRIVE_CDROM: cout << "光驱"; break; case DRIVE_RAMDISK: cout << "只读存储器"; break; case DRIVE_UNKNOWN: default: cout << "未知"; break; }
cout << endl; pStr += len + 1; }
HANDLE hFindVolume = FindFirstVolume(str, sizeof(str)); do { WriteConsole(hConsoleOutput, str, _tcslen(str), NULL, NULL); cout << endl; } while (FindNextVolume(hFindVolume, str, sizeof(str))); FindVolumeClose(hFindVolume);
DWORD dwSerialNumber, dwMaxCompLen, dwFlags; TCHAR szType[10]; cout << endl; GetVolumeInformation(TEXT("C:\\"), str, sizeof(str), &dwSerialNumber, &dwMaxCompLen, &dwFlags, szType, sizeof(szType)); cout << "dwSerialNumber: " << dwSerialNumber << endl; cout << "dwMaxCompLen: " << dwMaxCompLen << endl; cout << "dwFlags: " << dwFlags << endl; cout << "szType: "; WriteConsole(hConsoleOutput, szType, _tcslen(szType), NULL, NULL); cout << endl;
system("pause"); return 0; }
|