Partagez des fonctions et des UDF AutoIt.
Tlem
Site Admin
Messages : 11773 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#1
Message
par Tlem » dim. 01 mars 2009 12:03
Voici un code qui permet de détecter l'insertion d'un périphérique USB et affiche dans la console du code la lettre d'unité qui lui est affectée.
Code : Tout sélectionner
; Code réalisé par ptrex le Mardi 13 2007.
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colEvents = $objWMIService.ExecNotificationQuery _
("Select * From __InstanceOperationEvent Within 5 Where " _
& "TargetInstance isa 'Win32_LogicalDisk'")
While 1
$objEvent = $colEvents.NextEvent
If $objEvent.TargetInstance.DriveType = 2 Then
Select
Case $objEvent.Path_.Class()="__InstanceCreationEvent"
Consolewrite("Drive " & $objEvent.TargetInstance.DeviceId & "has been added." & @CR)
Case $objEvent.Path_.Class()="__InstanceDeletionEvent"
Consolewrite("Drive " & $objEvent.TargetInstance.DeviceId & "has been removed."& @CR)
EndSelect
EndIf
WEnd
Julien
Niveau 5
Messages : 141 Enregistré le : sam. 02 août 2008 17:01
Status :
Hors ligne
#2
Message
par Julien » ven. 06 nov. 2009 09:40
Bonjour,
ce script fonctionne assez bien (consomme un peu de mémoire, environ 5Mo) mais ne détecte que les média REMOVABLE, j'ai des disques USB reconnus comme FIXED, comment modifier ce script pour y inclure des périphérique reconnus ainsi et éventuellement en exclure du coup (c: par exemple) ?
D'avance merci.
Tlem
Site Admin
Messages : 11773 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#3
Message
par Tlem » ven. 06 nov. 2009 11:08
Voici ce que dit Microsoft à propos de la propriété
DriveType .
DriveType
Data type: uint32
Access type: Read-only
Numeric value that corresponds to the type of disk drive this logical disk represents.
Value / Meaning
0 / Unknown
1 / No Root Directory
2 / Removable Disk
3 / Local Disk
4 / Network Drive
5 / Compact Disc
6 / RAM Disk
Donc si dans le code vous rajoutez un contrôle sur les valeurs adéquates, cela devrait le faire.
Modifiez cette ligne :