Bonjour à tous.
Voici un ptt programme bien pratique.
Il permet d'afficher un message d'alerte lors de la fermeture d'une session Windows si une clé USB est branchée.
Ca évite ainsi d'oublier sa clé USB sur un ordi public (à la FAC, l'IUT, chez un pote ou autre...)
Voici le lien : KeyUSB Detector
Si vous rencontrez des problèmes / bugs n'hésitez pas à m'en faire part.
Je mettrai bientôt la source on-lone (je l'ai oublié chez moi )
Merci d'avance
Lionel
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Ben en fait, ça ne m'est jamais venu à l'idée de regarder si ça existait, étant donné que je suis le seul à me servir de mon PC, je ne ferme jamais la session.
Procedure DetectUSBKey()
For n=2 To 26
If Realdrivetype_(n,0)= #DRIVE_REMOVABLE
ProcedureReturn 1
EndIf
Next
EndProcedure
;/ Test
If DetectUSBKey()
MessageRequester("Disque Amovible","Présent",#MB_ICONINFORMATION)
Else
MessageRequester("Disque Amovible","Absent",#MB_ICONERROR )
EndIf
Procedure DetectUSBKey()
For n=2 To 26
If Realdrivetype_(n,0)= #DRIVE_REMOVABLE
ProcedureReturn 1
EndIf
Next
EndProcedure
;/ Test
If DetectUSBKey()
MessageRequester("Disque Amovible","Présent",#MB_ICONINFORMATION)
Else
MessageRequester("Disque Amovible","Absent",#MB_ICONERROR )
EndIf
ce code genere une erreur sous XP pro (pourtant avec 2 clef USB)
Procedure DetectUSBKey()
For n=2 To 26
If Realdrivetype_(n,0)= #DRIVE_REMOVABLE
ProcedureReturn 1
EndIf
Next
EndProcedure
;/ Test
If DetectUSBKey()
MessageRequester("Disque Amovible","Présent",#MB_ICONINFORMATION)
Else
MessageRequester("Disque Amovible","Absent",#MB_ICONERROR )
EndIf
Non j'ai utilisé un code qui ressemble à celui de ce topic
Il était légèrement différent. Mais j'ai virai tout ce qui n'était pas utile te je commence à la lettre C.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
; On récupère la lettre des différents lecteurs présent sur l'ordinateur
Drive = Space (255)
LengthDrive = GetLogicalDriveStrings_ (255, @Drive)
For Start = 0 To LengthDrive - 4 Step 4
DriveLetter.s = PeekS (@Drive + Start, 3) ; on récupère une lettre
DriveType.l = GetDriveType_ (@DriveLetter) ; on récupère le type du lecteur
Select DriveType ; On donne un nom au type de lecteur Case #DRIVE_REMOVABLE : DriveType = #REMOVABLE_DRIVE : DriveTypeString.s = "Disquette" Case #DRIVE_FIXED : DriveType = #FIXED_DRIVE : DriveTypeString.s = "Disque dur" Case #DRIVE_REMOTE : DriveType = #REMOTE_DRIVE : DriveTypeString.s = "Lecteur réseau" Case #DRIVE_CDROM : DriveType = #CDROM_DRIVE : DriveTypeString.s = "CD-ROM" Case #DRIVE_RAMDISK : DriveType = #RAMDISK_DRIVE : DriveTypeString.s = "RamDisk" Case #DRIVE_UNKNOWN : DriveType = #UNKNOWN_DRIVE : DriveTypeString.s = "" EndSelect
If DriveType & ListDriveType ; on regarde si le type du lecteur correspond à ceux demandés AddElement (DriveList())
DriveList()\DriveLetter = RemoveString (DriveLetter, "\" )
DriveList()\DriveType = DriveType
DriveList()\DriveTypeString = DriveTypeString
If DriveLetter <> "A:\" And DriveLetter <> "B:\"
DriveList()\NameOfVolume = Space (255) GetVolumeInformation_ (@DriveLetter, @DriveList()\NameOfVolume, 255, 0, 0, 0, 0, 0)
DriveList()\NameOfVolume = Trim (DriveList()\NameOfVolume) Else
DriveList()\NameOfVolume = "" EndIf
Moi aussi, donc ne cherche pas mon code §Droopy c'est pas la peine, bien que je me souvienne avoir modifié 2-3 choses pour WIN98, dès que j'ai le temps je regarde