Visual Basic 6. Руководство разработчика


Определение размеров свободного пространства на диске


В этом разделе описаны функции для определения типа диска и свободного пространства на нем, а также для поиска каталога

Windows и определения текущего каталога. Перечислим их.

•  GetDriveType()

•  GetDiskFreeSpace()

•  GetWindowsDirectory()

•  GetCurrentDirectory()

Эти функции предоставляют дополнительные возможности, которых нет в Visual Basic. Например, вы можете определить, есть ли свободное пространства на диске и является ли данное устройство приводом CD-ROM.

Функция GetDriveTypeQ

Эта функция позволяет определить тип дисковода.

Объявляется она следующим образом

Private Declare Function GetDriveType Lib "kernel32" Alias _

"GetDriveTypeA" (ByVal nDrive As String) As Long

Вы передаете функции имя диска, который необходимо проверить с помощью параметра nDrive, и функция возвращает значение типа Long, которое указывает тип диска. В табл. 13.2 приведены типы устройств и их описания

Таблица 13.2. Описание типов устройств

Значение

Описание

0

1

DRIVEREMOVABLE

DRIVEFIXED

DRIVEREMOTE

DRIVECDROM

DRIVERAMDISK

Тип диска определить невозможно

Данный каталог не является корневым

Сменное устройство, например ZIP-накопитель

Несменное устройство, например жесткий диск С

Устройство удаленного доступа, например сетевой диск

CD-ROM-устройство

RAM-диск

VB6 в действии: проект Drives

Приложение Drives (рис 13.2) обеспечивает вывод на экран окна, содержащего информацию о выбранном диске (тип и свободный объем памяти), о текущей папке и о папке Windows системы. Каждый раз, когда пользователь выбирает другое устройство, информация в окне формы изменяется. В приложении Drives используются три API-функции: GetDiskFreeSpace(), GetCurrentDirectory() и GetWindowsDirectory()

Рис. 13.2. Приложение Drives

Функция GetDiskFreeSpace()

Эта функция позволяет получить разнообразную информацию, касающуюся диска, включая количество свободного пространства. Функция возвращает также количество секторов на кластер, байтов на сектор, количество свободных кластеров на диске и общее количество кластеров. Функция




Начало  Назад  Вперед