Formatear cualquier unidad
A través de la siguiente función podremos formatear cualquier unidad, de modo que su utilización debe hacerse con mucho cuidado. Dicha función devolverá 0 si todo ha funcionado correctamente.
Public Declare Function SHFormatDrive Lib "shell32" (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, ByVal options As Long) As Long
Poner el siguiente código en un formulario:
Private Declare Function SHFormatDrive Lib "shell32" (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, ByVal options As Long) As Long
Private Sub Command1_Click()
Formatear "A"
End Sub
Public Function Formatear(Raiz As String, Optional VentanaMadre As Long) As Boolean
Dim DriveNumber As Long
DriveNumber = (Asc(Raiz) - 65) //* Cambiar la letra a número: A=0 y análogamente
Formatear = SHFormatDrive(VentanaMadre, DriveNumber, vbNull, vbNull)
//*Esta última línea también puede ser
//*Formatear = SHFormatDrive(VentanaMadre, DriveNumber, 0&, 0&)
End Function