Re: Объем винчестера

Самый простой способ - вычислить размер каждого диска, используя
функции API GetDiskFreeSpace или GetDiskFreeSpaceEx (иногда
имена функций не совсем точно отражают их возможности).
Список жестких дисков можно получить с помощью
функций GetLogicalDrives и GetDriveType (об
этом уже писал "Vlad").
Насколько я понял, разговор все еще идет о программировании
для Windows. По-моему, специализированной функции для
получения размера физического диска нет. Но всегда есть
обходные пути. Правда, с ними много мороки.
Прежде всего, под Windows NT/2000/... Можно воспользоваться функцией
DeviceIoControl с кодом операции IOCTL_DISK_GET_DRIVE_GEOMETRY.
Дескриптор устройства нужно получить функцией CreateFile,
указав имя вроде '\\.\PHYSICALDRIVE0'. Более подробно
смотри MSDN.
Под Windows 95/98, видимо, действительно придется использовать
функции "int 13h". Но и тут не все так просто. Доступ к ним
нужно выполнять через VxD VWin32. А именно: открыть
его с помощью CreateFile, заполнить структуру DIOC_REGISTERS
так, как того ожидает нужная функция прерывания "int 13h",
а затем выполнить DeviceIoControl с кодом
VWIN32_DIOC_DOS_INT13. Более подробно, опять же,
смотри MSDN.
Ну и нужны тебе такие сложности?
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru