[UDF] DriveEvents

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 132
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

[UDF] DriveEvents

#1

Message par Numeric »

Salut, voici un outil simple et puissant pour détecter les évènements physiques liés a vos lecteurs.
pour tout autres actions comme: empêcher l'utilisation de vos ports USB etc.. il vous suffit juste de le demander à l'UDF.

La fonction

Code : Tout sélectionner

_RegisterDriveEvents
de cette UDF (User Defined Function) a été
conçue pour permettre la surveillance d'événements liés aux lecteurs, en
mettant l'accent sur les lecteurs amovibles. Elle offre une solution simple et
efficace pour détecter et réagir aux changements d'état tels que l'insertion,
le retrait, ou tout autre événement associé aux lecteurs spécifiés.

L'utilité principale de cette fonction réside dans sa capacité à fournir des
informations en temps réel sur les événements de lecteur, facilitant ainsi le
développement d'applications ou de scripts qui doivent réagir de manière
dynamique aux modifications de l'environnement de stockage. Par exemple, vous
pourriez utiliser cette fonction pour détecter l'insertion d'une clé USB et
effectuer des actions automatiques, telles que la copie de fichiers ou
l'affichage de notifications.

En utilisant les paramètres optionnels tels que

Code : Tout sélectionner

$bReinitLabels
et

Code : Tout sélectionner

$bAutoEject
,
vous pouvez personnaliser le comportement de la surveillance des événements
pour répondre aux besoins spécifiques de votre application. La fonction peut
être intégrée dans des boucles de script pour une surveillance continue tout
en minimisant l'utilisation des ressources du système.

En résumé, la fonction

Code : Tout sélectionner

_RegisterDriveEvents
offre une solution pratique pour
surveiller et réagir aux événements de lecteur, contribuant ainsi à la création
d'applications plus réactives et fonctionnelles.

exemple d'utilisation
#include <DriveEvents.au3>; l'udf en question.
#include <Misc.au3> ; pour l'interruption de la boucle.
#include <TrayConstants.au3> ; pour l'affichage de message.


; Enregistre les événements de lecteur: considère l'évenement en cours par exemple une clé usb déjà inserer
;mais n'ejecte pas automatiquement la clé à cause du dernier paramètre mis à false
_RegisterDriveEvents("REMOVABLE", False, False)

; Boucle principale jusqu'à ce que la touche "Esc" soit enfoncée
While Not _IsPressed("1B")

   ; Vérifie si un événement de lecteur a eu lieu
   If _driveEventOcurred() Then

      ; Construit une chaîne d'informations sur l'événement
      Local $sInfos = "" & @CRLF & "Event from : " & _getDriveName() & @CRLF & _
            "Drive Label : " & StringUpper(_getEventDriveLabel()) & @CRLF & _
            "Serial number : " & _getEventDriveSerial() & @CRLF & _
            "State : " & _getEventDriveState()

      ; Affiche une infobulle avec les informations de l'événement
      TrayTip($_g_DRIVE_NAME & " Events ", $sInfos, 3500, BitOR($TIP_ICONASTERISK, $TIP_NOSOUND))

      ; Écrit les informations de l'événement dans la console
      ConsoleWrite($sInfos & @CRLF)
   EndIf

   ; Pause pour éviter une utilisation excessive du processeur
   Sleep(10)
WEnd
Fichiers joints
DriveEvents.au3
version mise à jour le 22/11/2023
(22.89 Kio) Téléchargé 177 fois
De 0 et 1 vers les étoiles , tout part du Binaire, Numeric
Lola35
Niveau 1
Niveau 1
Messages : 1
Enregistré le : lun. 20 nov. 2023 11:32
Status : Hors ligne

Re: [UDF] DriveEvents

#2

Message par Lola35 »

Salut, ça a l'air d'un outil intéressant pour gérer les lecteurs amovibles. Je ne connaissais pas cette UDF, merci pour le partage. J'ai regardé le code que tu as posté et je trouve que c'est bien écrit et documenté. J'aime bien la façon dont tu utilises la fonction _RegisterDriveEvents pour surveiller les événements de lecteur et afficher des infos-bulles. C'est pratique et efficace. Tu as testé ton code sur quel système d'exploitation ? Moi je suis sous Windows 10 et je me demande si ça marche aussi. Tu as d'autres exemples d'utilisation de cette UDF ? Je suis curieux de voir ce qu'on peut faire avec.💻🔧👍
Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 132
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

Re: [UDF] DriveEvents

#3

Message par Numeric »

Salut et merci...L'UDF est compatible avec avec windows 10 aussi. Pour les exemples d'utilisation, tu en trouveras beaucoup ICI
De 0 et 1 vers les étoiles , tout part du Binaire, Numeric
Répondre