Disk bilgilerini bulmak icin aşağıdaki Windows API'sini kullanabiliriz.
Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long
Bu fonksiyonda kernel32.dll icinde tanımlanmıştır.İlk parametreyi biz tanımlarız. Fonksiyon başarılı olmuş ise verilen parametrelerin icine disk bilgilerini koyar.Şimdi bu parametrelerin ozelliklerine bakalım:
lpRootPathName As String : Bu parametre bizim tarafımızda verilen disk'in root'udur.
lpSectorsPerCluster As Long : Cluster başına duşen sector sayısıdır.
lpBytesPerSector As Long :Bir sector'un byte olarak kapasitesidir.
lpNumberOfFreeClusters As Long : Boş cluster sayısıdır.
lpTtoalNumberOfClusters As Long : Toplam cluster sayısıdır.
Ornek
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName
As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lp
TtoalNumberOfClusters As Long) As Long
Private Sub Form_Load()
Dim RootPathName As String
Dim SectorsPerCluster As Long
Dim BytesPerSector As Long
Dim NumberOfFreeClusters As Long
Dim TotalNumberOfClusters As Long
Dim bos_kapasite As Double
Dim dolu_kapasite As Double
Dim toplam_kapasite As Double
Dim ret As Long
RootPathName = "c:"
ret = GetDiskFreeSpace(RootPathName, SectorsPerCluster, BytesPerSector, NumberOfFreeClusters,
TotalNumberOfClusters)
MsgBox SectorsPerCluster, , "SectorPerCluster"
MsgBox BytesPerSector, , "BytesPerSector"
MsgBox NumberOfFreeClusters, , "FreeClusters"
MsgBox TotalNumberOfClusters, , "TotalCluster"
toplam_kapasite = SectorsPerCluster * BytesPerSector * TotalNumberOfClusters
MsgBox toplam_kapasite, , "C surucusunun toplam alany bytes"
bos_kapasite = SectorsPerCluster * BytesPerSector * NumberOfFreeClusters
MsgBox bos_kapasite, , "C surucusununu boş alanı bytes"
dolu_kapasite = toplam_kapasite - bos_kapasite
MsgBox dolu_kapasite, , "C surucusundeki dolu alan bytes"
End Sub
__________________
Disk Kapasitesini Bulmak
Programlama0 Mesaj
●31 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- Disk Kapasitesini Bulmak