Determinando o espaço disponível de uma unidade
Essa vai ser rápida. Vamos lá...
1- Inicie um novo projeto no Visual Basic e adicione um formulário e um módulo ao projeto:
2- Insira o seguinte código no módulo
Declare Function GetDiskFreeSpace Lib "kernel32" Alias _ "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, _ lpSectorsPerCluster As Long, lpBytesPerSector As Long, _ lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters _ As Long) As Long |
3-No formulário insira os controles : combobox e commandButton , conforme layout abaixo:
4-A seguir insira o seguinte código no evento click do botão de comando:
Private Sub Command1_Click() Dim SectorsPerCluster As Long Dim BytesPerSector As Long Dim NumberOfFreeClusters As Long Dim TotalNumberOfClusters As Long Dim BytesLivres As Long Dim retorno As Long retorno = GetDiskFreeSpace(Combo1.Text, SectorsPerCluster, _ BytesPerSector, NumberOfFreeClusters, TotalNumberOfClusters) BytesLivres = NumberOfFreeClusters * SectorsPerCluster * _ BytesPerSector MsgBox " A unidade -> " & Combo1.Text & " possui " & Format(BytesLivres, "###,###,###,###") & " bytes livres " End Sub |
5-Insira o seguinte código no evento Load do formulário: (As letras das unidades podem ser diferentes para você)
Private Sub Form_Load() Combo1.AddItem "C:\" Combo1.AddItem "D:\" Combo1.AddItem "E:\" Combo1.ListIndex = 0 End Sub |
Ao executar o projeto , escolhendo o drive C: e clicando no botão de comando , deveremos obter o seguinte resultado: (os valores para você poderão ser diferentes...)
É isso ai... Então, até a próxima dica...;-)