ВУЗ:
Составители:
92
Windows 95 OSR 2:
Функция
GetDiskFreeSpaceEx доступна в операционных системах
Windows 95, начиная с OEM Service Release 2 (OSR 2). Функция
GetDiskFreeSpaceEx возвращает корректные значения всех томов,
включая тома, превышающие 2 гигабайта.
Для определения количества свободных байтов на определенном
диске может быть использована более простая функция, включенная в
Builder C++
DiskFree.
Эта функция возвращает количество свободных байтов на диске,
причем 0 = текущий диск, 1 = A, 2 = B, и так далее.
Если указан неверный номер диска, функция возвращает значение -1.
//============= Определение дискового пространства ============
DWORD disk_present;
disk_present=GetLogicalDrives();
int n_disk=31; // Количество дисков вообще
for(int i=0;i<32;i++)
{ if(((disk_present<<i)&(1<<31))==0)
n_disk--; // Количество дисков вообще (начиная со
//старшего диска)
else
break; // Выход, как только найден старший диск
}
num_disk=0; // Количество разделов жестких дисков
for(int i=0;i<n_disk;i++)
{ a.sprintf("%c:\\",i+'c'); // Например, для I=2
//формируется строка E:\
if(GetDriveType(a.c_str())==DRIVE_FIXED) // Проверка на
// фикс. диск
num_disk++; // Переход к следующему диску
else
break; // Выход с последним найденным фикс. диском
}
a="";
for(int i=0; i<num_disk;i++)
{ if(DiskFree(i+3)/(1024*1024)>1000) // В мегабайтах
{ a="aa"; // Взведение флага, если свободно
// более 1 гигабайта
break;
}
}
if(a!="aa")
Windows 95 OSR 2:
Функция GetDiskFreeSpaceEx доступна в операционных системах
Windows 95, начиная с OEM Service Release 2 (OSR 2). Функция
GetDiskFreeSpaceEx возвращает корректные значения всех томов,
включая тома, превышающие 2 гигабайта.
Для определения количества свободных байтов на определенном
диске может быть использована более простая функция, включенная в
Builder C++ DiskFree.
Эта функция возвращает количество свободных байтов на диске,
причем 0 = текущий диск, 1 = A, 2 = B, и так далее.
Если указан неверный номер диска, функция возвращает значение -1.
//============= Определение дискового пространства ============
DWORD disk_present;
disk_present=GetLogicalDrives();
int n_disk=31; // Количество дисков вообще
for(int i=0;i<32;i++)
{ if(((disk_present<1000) // В мегабайтах
{ a="aa"; // Взведение флага, если свободно
// более 1 гигабайта
break;
}
}
if(a!="aa")
92
Страницы
- « первая
- ‹ предыдущая
- …
- 90
- 91
- 92
- 93
- 94
- …
- следующая ›
- последняя »
