API: formatando drives com a função não-documentada SHFormatDrive
SHFormatDrive é uma função da API não-documentada que permite a você formatar um drive. Esta função simplesmente abre a janela "Format Drive". Sendo não-documentada, você não a encontrará no API Viewer do VB. Esta é a sua declaração:
Private Declare Function SHFormatDrive Lib "Shell32.dll" (ByVal hWnd As Long, _
ByVal Drive As Integer, ByVal fmtID As Integer, ByVal Options As Integer) _
As Long
SHFormatDrive recebe quatro parâmetros. O
primeiro é o handle da janela mãe. O segundo é o índice do drive a ser
formatado (A=0, B=1, C=2 ...). O terceiro deve sempre ser -1. O último
especifica as opções de formatação: 0 para formatação rápida, 1 para
formatação completa ou 2 para gerar um disco de sistema. A função retorna um
valor maior que zero se foi bem sucedida, 0 se passou parâmetros inválidos, -1
se um erro ocorreu durante a formatação, -2 se a operação foi abortada e -3
se o drive não pode ser formatado. Aqui está um código de exemplo:
Private Sub btnFormatDrive_Click()
Dim ret As Long
' eu quero formatação completa
ret = SHFormatDrive(Me.hWnd, cbDrive.ListIndex,-1, 1)
Select Case ret
Case -1
MsgBox "Erro durante a operação de formatação"
Case -2
MsgBox "Operação cancelada pelo usuário"
Case -3
MsgBox "O drive não pode ser formatado"
Case Else
MsgBox "Concluída"
End Select
End Sub