AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Gestion des lecteurs

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
hellboy_21
Membre avancé


Nombre de messages : 56
Date d'inscription : 10/11/2006

MessageSujet: Gestion des lecteurs   2006-11-17, 13:00

[b]Copier/Coller ce code pour voir son utilité, puis s'il y a lieu d'apporter de corrections et/ou des suggestions, n'hésitez pas ![/b]

[code]
#include
#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
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
Func lecteurs()
GUICtrlSetData($listeLecteurs,"")
$lecteur = DriveGetDrive( "all" )
If NOT @error Then
For $i = 1 to $lecteur[0]
GUICtrlSetData($listeLecteurs,$lecteur[$i])
Next
EndIf
EndFunc
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
Func lecteursReseau()
GUICtrlSetData($listeLecteursReseau,"")
$lecteursReseau = DriveGetDrive( "Network" )
If NOT @error Then
For $i = 1 to $lecteursReseau[0]
GUICtrlSetData($listeLecteursReseau,$lecteursReseau[$i])
Next
EndIf
EndFunc
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
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
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
Func Infos()
GUICtrlSetData($listeLecteurs,GUICtrlRead($listeLecteursReseau))
Call("choisir")
EndFunc
Func quitter()
Exit
EndFunc
[/code]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Michel Claveau
Membre avancé


Nombre de messages : 61
Date d'inscription : 24/10/2006

MessageSujet: Re: Gestion des lecteurs   2006-11-18, 14:15

Bonjour !

Pour que ça marche, j'ai dû ajouter cette 1ère ligne :
[code]#include <GUIConstants.au3>[/code]

Sinon, ça a l'air de bien fonctionner, à un détail près : mes disques NAS sont reconnus en NTFS, alors qu'ils sont en NFS. Je suppose que cela risque d'être de même, avec les serveurs Samba.

Ce script est intéressant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Feargod
Membre


Nombre de messages : 22
Date d'inscription : 18/11/2006

MessageSujet: Re: Gestion des lecteurs   2006-11-19, 13:13

Salut tu pourais expliquer a quoi il sert car je ne vois pas trop a quoi il sert
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TerminAdminAtor
Admin
Admin


Nombre de messages : 234
Date d'inscription : 22/10/2006

MessageSujet: Re: Gestion des lecteurs   2006-11-19, 18:24

[b]C'est un gestionnaire des lecteurs[/b], qui donne les infos sur les lecteurs de ton pc et qui te permet aussi de les activer ou désactiver.

C'est étonnant quand même [color=deepskyblue][b]hellboy_21 [/b][/color][color=black]que tu fais de si long programme sans même vérifier s'il marche, et qu'en fin de compte il suffit juste de régler un #include... c'est ce qu'on appelle avoir la maîtrise^^, bravo![/color]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://autoit-fr.realbb.net
hellboy_21
Membre avancé


Nombre de messages : 56
Date d'inscription : 10/11/2006

MessageSujet: Re: Gestion des lecteurs   2006-11-20, 10:19

salut pour le [b]#include <GUIConstants.au3>[/b] c'est juste un problème de copier/coller sur le forum, je ne suis quand même pas doué au point de faire des programmes sans les tester un minimum...lol. Pour tes disques NAS en effet c'est étrange ! Il faudrais peut être vérifier la fonction [b]DriveGetFileSystem() [/b]prédéfinie par autoit, peut-être qu'elle contient une erreur... car j'ai pu constater que dans le [b]#include <string.au3> [/b]il avait quelques erreurs !
Pour ton serveur samba logiquement il sera reconnu en samba, car à mon taf le serveur samba est bien reconnu en samba.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Gestion des lecteurs   Aujourd'hui à 10:43

Revenir en haut Aller en bas
 
Gestion des lecteurs
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion des cantons en mode hors ligne
» Gestion de la position de la souris
» Gestion des ressources et compression des sprites
» Problème de gestion du temps d'animation
» je cherche de l'aide pour un jeu de gestion d'animalerie

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Scripts-
Sauter vers: