ComputerBooks.ru - Электронные книги, самоучители.

 
Электронные кники доступные для скачивания
На главную Добавить в избранное Форма отправки почты Если книг читать не будешь - скоро грамоту забудешь!


Вопрос: Как узнать размер свободного места на сетевом диске, если путь к файлу указан как сетевой \\comp\folder\?

Ответ :

На основе примера из SDK узнать количество свободного места на диске 
можно так: 

code:
--------------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  __int64 i64FreeBytesToCaller,i64TotalBytes,i64FreeBytes;
  unsigned long dwSectPerClust,dwBytesPerSect,dwFreeClusters,dwTotalClusters;
  int fResult;
  typedef int (__stdcall *Ptr)(char *,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
  Ptr pGetDiskFreeSpaceEx;
  char *pszDrive=Edit1->Text.c_str(); //Директория "//aaa/bbb/" или "C:\"

  pGetDiskFreeSpaceEx =(Ptr)GetProcAddress( GetModuleHandle("kernel32.dll"),
                         "GetDiskFreeSpaceExA");

 if (pGetDiskFreeSpaceEx)
 {
   fResult = pGetDiskFreeSpaceEx (pszDrive,
                (PULARGE_INTEGER)&i64FreeBytesToCaller,
                (PULARGE_INTEGER)&i64TotalBytes,
                (PULARGE_INTEGER)&i64FreeBytes);
   if(!fResult)return;

// Process GetDiskFreeSpaceEx results.
   Memo1->Lines->Add(Edit1->Text);
   Memo1->Lines->Add("FreeBytesToCaller:"+IntToStr(i64FreeBytesToCaller));
   Memo1->Lines->Add("TotalBytes:"+IntToStr(i64TotalBytes));
   Memo1->Lines->Add("FreeBytes:"+IntToStr(i64FreeBytes));
 }
 else
 {
   fResult = GetDiskFreeSpace (pszDrive,
                &dwSectPerClust,
                &dwBytesPerSect,
                &dwFreeClusters,
                &dwTotalClusters);
   if(!fResult)return;

// Process GetDiskFreeSpace results.
   Memo1->Lines->Add(Edit1->Text);
   Memo1->Lines->Add("SectPerClust:"+IntToStr(dwSectPerClust));
   Memo1->Lines->Add("BytesPerSect:"+IntToStr(dwBytesPerSect));
   Memo1->Lines->Add("FreeClusters:"+IntToStr(dwFreeClusters));
   Memo1->Lines->Add("TotalClusters:"+IntToStr(dwTotalClusters));

 }

}



--------------------------------------------------------------------------------
        
(c) 2003 Borland X Portal
Электронные Книги по компьютерным программам
На правах рекламы:
-->

Для добавления страницы электронной книги в избранное нажмине Ctrl+D

Книги | Статьи | Скачать

Правовая информация   

  © ComputerBooks.ru,
  При копировании материалов со страницы обязательно разместите ссылку на источник.