Auteur : hellboy_21
Date : 17/11/2006
Citation :
Gestionnaire des lecteurs, qui donne les infos sur les lecteurs de votre PC et qui permet aussi de les activer ou désactiver.
► Afficher le texte
Code : Tout sélectionner
#include <GUIconstants.au3>
#NoTrayIcon
GUICreate("Gestion lecteur(s)", 500, 350, -1, -1, $WS_SYSMENU)
Opt("GUIOnEventMode", 1)
$lblChoixLecteur = GUICtrlCreateLabel("Choix lecteur : ", 10, 18)
$listeLecteurs = GUICtrlCreateCombo("", 120, 15, 40)
Call("lecteurs")
GUICtrlSetOnEvent($listeLecteurs, "choisir")
$cmdChanger = GUICtrlCreateButton("Modifier nom lecteur", 180, 15, 110, 21)
GUICtrlSetOnEvent($cmdChanger, "modifier")
$lblNom = GUICtrlCreateLabel("Nom du lecteur : ", 10, 40, 100)
$lblNomVal = GUICtrlCreateLabel("", 120, 40, 380, 20)
$lblNumSerie = GUICtrlCreateLabel("Numéro de série : ", 10, 60, 160)
$lblNumSerieVal = GUICtrlCreateLabel("", 120, 60, 200, 20)
$lblType = GUICtrlCreateLabel("Type du lecteur : ", 10, 80, 140)
$lblTypeVal = GUICtrlCreateLabel("", 120, 80, 200, 20)
$lblSystemFichier = GUICtrlCreateLabel("Système de fichiers : ", 10, 100, 140)
$lblSystemFichierVal = GUICtrlCreateLabel("", 120, 100, 200, 20)
$lblStatus = GUICtrlCreateLabel("Status du lecteur : ", 10, 120, 140)
$lblStatusVal = GUICtrlCreateLabel("", 120, 120, 200, 20)
$lblEspaceTotal = GUICtrlCreateLabel("Espace total : ", 10, 140, 160)
$lblEspaceTotalVal = GUICtrlCreateLabel("", 120, 140, 200, 20)
$lblEspaceLibre = GUICtrlCreateLabel("Espace libre : ", 10, 160, 160)
$lblEspaceLibreVal = GUICtrlCreateLabel("", 120, 160, 200, 20)
$lblEspaceUtilise = GUICtrlCreateLabel("Espace utilisé : ", 10, 180, 160)
$pbEspaceUtilise = GUICtrlCreateProgress(120, 180, 200, 15)
$lblConnecte = GUICtrlCreateLabel("Connecter un lecteur réseau", 60, 230, 170, 21)
$lblListeLecteur = GUICtrlCreateLabel("Choix lecteur : ", 70, 253)
$listeLecteursDispo = GUICtrlCreateCombo("", 145, 250, 40)
$cmdParcourir = GUICtrlCreateButton("Parcourir...", 40, 278, 80)
GUICtrlSetOnEvent($cmdParcourir, "parcourir")
$cmdGoConnect = GUICtrlCreateButton("Connecter", 130, 278, 80)
GUICtrlSetOnEvent($cmdGoConnect, "connecter")
Call("lecteursDispo")
$lblDeconnecte = GUICtrlCreateLabel("Déconnecter un lecteur réseau", 275, 230, 170, 21)
$lblListeLecteursReseau = GUICtrlCreateLabel("Choix lecteur : ", 280, 253)
$listeLecteursReseau = GUICtrlCreateCombo("", 365, 250, 40)
GUICtrlSetOnEvent($listeLecteursReseau, "Infos")
Call("lecteursReseau")
$cmdGoDeconnect = GUICtrlCreateButton("Déconnecter", 310, 278, 80)
GUICtrlSetOnEvent($cmdGoDeconnect, "deconnecter")
$nom = ""
$numSerie = ""
$type = ""
$systemFichier = ""
$Status = ""
$espaceTotal = ""
$espaceLibre = ""
$chemin = ""
Call("choisir")
GUISetOnEvent($GUI_EVENT_CLOSE, "quitter")
GUISetState()
While 1
Sleep(1000)
WEnd
Func choisir()
If GUICtrlRead($listeLecteurs) <> "" Then
$systemFichier = DriveGetFileSystem(GUICtrlRead($listeLecteurs))
If $systemFichier = 1 Then
$systemFichier = "Inconnu"
EndIf
GUICtrlSetData($lblSystemFichierVal, $systemFichier)
$type = DriveGetType(GUICtrlRead($listeLecteurs))
Select
Case $type = "Unknown"
$type = "Inconnu"
GUICtrlSetState($cmdChanger, $GUI_ENABLE)
Case $type = "Removable"
$type = "Amovible"
GUICtrlSetState($cmdChanger, $GUI_ENABLE)
Case $type = "Fixed"
$type = "Disque Dur"
GUICtrlSetState($cmdChanger, $GUI_ENABLE)
Case $type = "CDROM"
$type = "CD/DVD-Rom"
GUICtrlSetState($cmdChanger, $GUI_ENABLE)
Case $type = "Network"
$type = "Réseau"
GUICtrlSetState($cmdChanger, $GUI_DISABLE)
Case $type = "RAMDisk"
$type = "Disque Externe"
GUICtrlSetState($cmdChanger, $GUI_ENABLE)
EndSelect
GUICtrlSetData($lblTypeVal, $type)
$Status = DriveStatus(GUICtrlRead($listeLecteurs))
Select
Case $Status = "Unknown"
$Status = "Inconnu"
Case $Status = "Ready"
$Status = "Actif"
Case $Status = "Notready"
$Status = "Inactif"
Case $Status = "Invalid"
$Status = "Non accessible"
EndSelect
GUICtrlSetData($lblStatusVal, $Status)
If $type = "Réseau" Then
$nom = StringLower(DriveMapGet(GUICtrlRead($listeLecteurs)))
Else
$nom = StringLower(DriveGetLabel(GUICtrlRead($listeLecteurs)))
Select
Case $nom = ""
$nom = "Aucun"
GUICtrlSetState($cmdChanger, $GUI_ENABLE)
Case $nom = "1"
$nom = "Inconnu"
GUICtrlSetState($cmdChanger, $GUI_DISABLE)
EndSelect
EndIf
GUICtrlSetData($lblNomVal, $nom)
$numSerie = DriveGetSerial(GUICtrlRead($listeLecteurs))
Select
Case $numSerie = "1"
$numSerie = "Inconnu"
EndSelect
GUICtrlSetData($lblNumSerieVal, $numSerie)
$espaceTotal = Round(DriveSpaceTotal(GUICtrlRead($listeLecteurs)), 2)
Select
Case $espaceTotal = "1"
$espaceTotal = "Inconnu"
GUICtrlSetData($lblEspaceTotalVal, $espaceTotal)
Case Else
GUICtrlSetData($lblEspaceTotalVal, $espaceTotal & " Mo")
EndSelect
$espaceLibre = Round(DriveSpaceFree(GUICtrlRead($listeLecteurs)), 2)
Select
Case $espaceLibre = "1"
$espaceLibre = "Inconnu"
GUICtrlSetData($lblEspaceLibreVal, $espaceLibre)
Case Else
GUICtrlSetData($lblEspaceLibreVal, $espaceLibre & " Mo")
EndSelect
If $espaceTotal <> "1" And $espaceLibre <> 1 Then
$espaceUtilise = (($espaceTotal - $espaceLibre) * 100) / $espaceTotal
GUICtrlSetData($pbEspaceUtilise, $espaceUtilise)
EndIf
Else
GUICtrlSetData($lblSystemFichierVal, "Inconnu")
GUICtrlSetData($lblTypeVal, "Inconnu")
GUICtrlSetData($lblStatusVal, "Inconnu")
GUICtrlSetData($lblNomVal, "Inconnu")
GUICtrlSetData($lblNumSerieVal, "Inconnu")
GUICtrlSetData($lblEspaceTotalVal, "Inconnu")
GUICtrlSetData($lblEspaceLibreVal, "Inconnu")
GUICtrlSetData($pbEspaceUtilise, 0)
EndIf
EndFunc ;==>choisir
Func modifier()
$lecteurSelectionne = GUICtrlRead($listeLecteurs)
If $nom <> "Inconnu" Then
If $nom = "Aucun" Then
$nouveauNom = InputBox("Modification du nom", "Entrez le nouveau nom du lecteur")
Else
$nouveauNom = InputBox("Modification du nom", "Entrez le nouveau nom du lecteur", $nom)
EndIf
If $nouveauNom <> 1 Then
If $nouveauNom = "Aucun" Then
MsgBox(64, "Impossible de modifier le nom de lecteur", "Dans un soucis d'incompréhension, vous ne pouvez pas nommer votre lecteur 'Aucun'")
Else
DriveSetLabel($lecteurSelectionne, $nouveauNom)
EndIf
EndIf
Call("choisir")
Else
MsgBox(64, "Impossible de modifier le nom de lecteur", "Ce problème est dû au fait que le nom actuel est inconnu")
EndIf
EndFunc ;==>modifier
Func lecteurs()
GUICtrlSetData($listeLecteurs, "")
$lecteur = DriveGetDrive("all")
If Not @error Then
For $i = 1 To $lecteur[0]
GUICtrlSetData($listeLecteurs, $lecteur[$i])
Next
EndIf
EndFunc ;==>lecteurs
Func lecteursDispo()
GUICtrlSetData($listeLecteursDispo, "")
$lecteur = DriveGetDrive("all")
If Not @error Then
$x = 1
$varASCII = 65
$lettre = StringLower(Chr($varASCII)) & ":"
For $x = 1 To $lecteur[0]
While $lettre <> $lecteur[$x]
GUICtrlSetData($listeLecteursDispo, $lettre)
$varASCII = $varASCII + 1
$lettre = StringLower(Chr($varASCII)) & ":"
WEnd
If $lettre = $lecteur[$x] Then
$varASCII = $varASCII + 1
$lettre = StringLower(Chr($varASCII)) & ":"
EndIf
Next
If $varASCII < 90 Then
While $varASCII <= 90
GUICtrlSetData($listeLecteursDispo, $lettre)
$varASCII = $varASCII + 1
$lettre = StringLower(Chr($varASCII)) & ":"
WEnd
EndIf
EndIf
EndFunc ;==>lecteursDispo
Func lecteursReseau()
GUICtrlSetData($listeLecteursReseau, "")
$lecteursReseau = DriveGetDrive("Network")
If Not @error Then
For $i = 1 To $lecteursReseau[0]
GUICtrlSetData($listeLecteursReseau, $lecteursReseau[$i])
Next
EndIf
EndFunc ;==>lecteursReseau
Func parcourir()
$chemin = FileSelectFolder("Sélectionnez un dossier réseau partagé", "::{208D2C60-3AEA-1069-A2D7-08002B30309D}", "", $chemin)
While StringLeft($chemin, 2) <> "\\" And $chemin <> ""
MsgBox(64, "Erreur de chemin", "Le chemin sélectionné doit correspondre à un dossier réseau")
$chemin = FileSelectFolder("Sélectionnez un dossier réseau partagé", "::{208D2C60-3AEA-1069-A2D7-08002B30309D}", "", $chemin)
WEnd
EndFunc ;==>parcourir
Func connecter()
If GUICtrlRead($listeLecteursDispo) <> "" Then
If $chemin <> "" Then
$ResultatConnection = DriveMapAdd(GUICtrlRead($listeLecteursDispo), $chemin)
If $ResultatConnection = 0 Then
MsgBox(64, "Erreur de connection", "La connection ne peut pas se faire, merci de vérifier le chemin.")
Else
MsgBox(64, "Connection réussie", "La connection '" & StringUpper(GUICtrlRead($listeLecteursDispo)) & "' => '" & $chemin & "' a bien réussie")
$chemin = ""
Call("lecteurs")
Call("lecteursDispo")
Call("lecteursReseau")
EndIf
Else
MsgBox(64, "Erreur de connection", "Vous devez tout d'abord choisir un chemin réseau")
EndIf
Else
MsgBox(64, "Erreur de connection", "Vous devez tout d'abord sélectionner un lecteur")
EndIf
EndFunc ;==>connecter
Func deconnecter()
If GUICtrlRead($listeLecteursReseau) <> "" Then
$ResultatConnection = DriveMapDel(GUICtrlRead($listeLecteursReseau))
If $ResultatConnection = 0 Then
MsgBox(64, "Erreur de déconnection", "La déconnection ne peut pas se faire, merci de vérifier le chemin.")
Else
MsgBox(64, "Déconnection réussie", "La déconnection du lecteur '" & StringUpper(GUICtrlRead($listeLecteursReseau)) & "' a bien réussie")
Call("lecteurs")
Call("lecteursDispo")
Call("lecteursReseau")
Call("choisir")
EndIf
EndIf
EndFunc ;==>deconnecter
Func Infos()
GUICtrlSetData($listeLecteurs, GUICtrlRead($listeLecteursReseau))
Call("choisir")
EndFunc ;==>Infos
Func quitter()
Exit
EndFunc ;==>quitter