Formater une disquette

Contenu du snippet

Ce code permet de formater une disquette avec la boîte de dialogue de formatage de Windows. Ce code est commenté au maximum.

Source / Exemple :


'Déclaration de la constante.
Private Const SHFMT_ID_DEFAULT = 0

'********************************************************************************
' Prototype de la fonction SHFormatDrive de chez Microsoft :
'
' INPUT : Reçoit le Handle de la fenêtre, le numéro du lecteur à formater,
'         l'ID du format physique, le numéro de l'option désirée.
'
' PROCESS : Affiche la boîte de dialogue de formatage de Windows.
'
' OUTPUT : La valeur du résultat de l'opération.
'********************************************************************************
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
Private Sub Command1_Click()
    Dim Réponse As Long

    'Informations supplémentaires :
    '
    'Numéros des différents lecteurs :
    '0 = A:
    '1 = B:
    '
    '2 = C:
    '...
    '
    'ID du format physique :
    'Il n'existe que l'ID SHFMT_ID_DEFAULT.
    '
    'Numéros des options :
    '0 = Formatage complet
    '1 = Formatage rapide
    '2 = Crée une disquette de démarrage MS-DOS
    '
    'REMARQUE : Certaines options ne fonctionnent pas sous toutes les versions de Windows.

    'Appel de la fonction.
    Réponse = SHFormatDrive(hwnd, 0, SHFMT_ID_DEFAULT, 0)

    'Test du résultat de l'opération.
    If Réponse = 0 Then
        Réponse = MsgBox("Formatage réalisé avec succès !", vbOKOnly + vbInformation)
    Else
        Réponse = MsgBox("Impossible de formater la disquette." & vbCrLf & "Soit vous avez annulé la procédure de formatage, soit une erreur s'est produite.", vbCritical + vbOKOnly)
    End If
    'Informations supplémentaires :
    '
    'Numéros des résultats de l'opération :
    '0 = Formatage effectué sans problème
    '-1 = Formatage annulé ou une erreur s'est produite durant le formatage
End Sub

Conclusion :


Ce code a été testé sous Windows 2000 Professionnel et Windows XP.
Aucun bogue connu.

http://www.tcedi.be.tf

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.