begin process at 2008 08 22 06:10:51
1 229 779 membres
50 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VERROUILLEZ L'OUVERTURE DE VOS LECTEURS CD-ROM


Information sur la source

Catégorie :API Classé sous : lock, verrouiller, lecteur, deviceiocontrol, ouverture Niveau : Débutant Date de création : 04/01/2006 Date de mise à jour : 11/01/2006 10:20:26 Vu / téléchargé: 7 991 / 1 272

Note :
10 / 10 - par 12 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note


Description

Ce petit code est une réponse au forum.

Il utilise une API de controle du materiel, pour verrouiller, et bien sur déverrouiller l'ouverture de votre/vos lecteur(s) de CD.

Source

  • Private Function AllowMediaRemoval(ByRef vsDriveLetter As String, Optional vbAllow As Boolean = False) As Boolean
  • Dim hDrive As Long
  • Dim nLength As Long
  • Dim tPMR As PREVENT_MEDIA_REMOVAL
  • '# On créé un handle vers le lecteur
  • hDrive = CreateFile("\\.\" & vsDriveLetter & ":", GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
  • If hDrive <> INVALID_HANDLE_VALUE Then
  • tPMR.PreventMediaRemoval = Abs(Not vbAllow)
  • '# On appelle la fonction de lock/unlock
  • DeviceIoControl hDrive, IOCTL_STORAGE_MEDIA_REMOVAL, tPMR, LenB(tPMR), 0, 0, nLength, ByVal 0&
  • '# On libère le handle
  • CloseHandle hDrive
  • End If
  • End Function
Private Function AllowMediaRemoval(ByRef vsDriveLetter As String, Optional vbAllow As Boolean = False) As Boolean
Dim hDrive As Long
Dim nLength As Long
Dim tPMR As PREVENT_MEDIA_REMOVAL
    '# On créé un handle vers le lecteur
    hDrive = CreateFile("\\.\" & vsDriveLetter & ":", GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
    If hDrive <> INVALID_HANDLE_VALUE Then
        tPMR.PreventMediaRemoval = Abs(Not vbAllow)
        '# On appelle la fonction de lock/unlock
        DeviceIoControl hDrive, IOCTL_STORAGE_MEDIA_REMOVAL, tPMR, LenB(tPMR), 0, 0, nLength, ByVal 0&
        '# On libère le handle
        CloseHandle hDrive
    End If
End Function

Conclusion

ce code vous permettra également d'ouvrir/fermer votre lecteur, est de tester (Windows Xp ou supérieur) si le lecteur supporte les DVD
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

05 janvier 2006 11:08:30 :
ajout d'un popup permettant d'ouvrir/fermer le lecteur
11 janvier 2006 10:20:26 :
Ajout du test IsDVD Remaniement de l'interface
  • signaler à un administrateur
    Commentaire de PROGRAMMIX le 04/01/2006 10:59:09

    Je n'ai pas testé le code mais je me pose la question suivante:

    Est-il possible d'autoriser l'utilisation du CD-Rom pour écouter de la musique ou visionner des photos par exemple, mais empêcher l'installation de tout programme qui serait contenu sur le CD ?

    Pourquoi cette demande ?
    Parce que, dans mon boulot (voir ma fiche), je fais un peu office de "monsieur informatique".  J'aimerais permettre au personnel éducatif d'utiliser les ordinateurs sans pour autant que l'un ou l'autre ne se mette à installer des trucs à tout-va avec ce que cela implique au niveau sécurité.

  • signaler à un administrateur
    Commentaire de Nexto le 04/01/2006 11:51:09

    PROGRAMMIX > Pourquoi pas leur limiter les droits Windows tout simplement ?
    A++
    Nexto (Alias: fabienfs)

  • signaler à un administrateur
    Commentaire de ScSami le 04/01/2006 12:21:38

    Dit Renfield, se serait hyper cool si un jour tu nous faisais un tuto sur tout ce qui est faisable avec un CDRom via les API !!!
    Je me demande d'ailleurs d'où tu tires toutes ces infos!?!?!?

  • signaler à un administrateur
    Commentaire de Renfield le 04/01/2006 14:17:07 administrateur CS

    MSDN....

    je fais ca un peu au compte gouttes, tu sais... comme les demandes vont

  • signaler à un administrateur
    Commentaire de Unreal le 04/01/2006 20:54:07

    Tres tres bien :)

  • signaler à un administrateur
    Commentaire de zeboss31 le 04/01/2006 21:39:52

    Franchement elle est nikel ta source :) !!!!

  • signaler à un administrateur
    Commentaire de Alain_Guerin le 05/01/2006 00:22:24

    Tout simplement brillant !

  • signaler à un administrateur
    Commentaire de Alain_Guerin le 05/01/2006 00:36:06

    Renfield, penses tu qu'il serait possible de bloquer également les disques USB dès qu'ils apparaissent ?
    Cela serait le top au niveau sécurité du poste de travail.
    Merci
    Alain

  • signaler à un administrateur
    Commentaire de Renfield le 05/01/2006 00:38:30 administrateur CS

    qu'entends tu par 'bloquer' ?

    enpecher qu'on ne les ejecte ? (materiellement, on ne saurais le bloquer, coté logiciel, oui, je pense)

  • signaler à un administrateur
    Commentaire de Alain Proviste le 05/01/2006 07:28:56 administrateur CS

    y a moyen de savoir l'état (vérouiller ou non) du lecteur ?

  • signaler à un administrateur
    Commentaire de Patrice99 le 05/01/2006 08:40:56

    > empêcher l'installation de tout programme qui serait contenu sur le CD

    Voir l'onglet "Exécution automatique" sur les propriétés du lecteur : on peut effectivement faire cela. Ou sinon, il suffit de presser la touche Maj (= Shift, au dessus de Ctrl) et de la maintenir pressée avant d'inserer le CD ou la clé USB

  • signaler à un administrateur
    Commentaire de Renfield le 05/01/2006 09:56:20 administrateur CS

    un autre solution, pour eviter ce dialogue, est de modifier IOCTL_STORAGE_MCN_CONTROL (Media Change Notification)

  • signaler à un administrateur
    Commentaire de Renfield le 05/01/2006 11:12:30 administrateur CS

    j'ai pas trouvé (pour le moment ?) de facon de récupérer l'etat verrouillé ou non du lecteur.....

    j'ai mis a jour en ajoutant un popup permettant d'ouvrir/fermer le lecteur

  • signaler à un administrateur
    Commentaire de Alain Proviste le 05/01/2006 18:28:14 administrateur CS

    c'est probablement récupérable comme info puisqu'il me semble avoir déjà vu des logiciels me l'indiquer ...
    mais comment :)

  • signaler à un administrateur
    Commentaire de the_best le 07/01/2006 12:08:19

    ça peut être un peut dangereux non ?

  • signaler à un administrateur
    Commentaire de TomIlliev le 08/01/2006 12:19:20

    Merci à Renfield pour ce code qui va m'être trés utile.
    Tomilliev

  • signaler à un administrateur
    Commentaire de Renfield le 11/01/2006 10:21:59 administrateur CS

    Ajout du test IsDVD
    qui permet de savoir si le lecteur supporte les DVD....

    (Codé comme c'est ici fait, ne fonctionne qu'a partir de Windows Xp)

  • signaler à un administrateur
    Commentaire de Renfield le 11/01/2006 14:27:19 administrateur CS

    GetVersion / GetVersionEx

    regarde dans le Form_Load, il y'a detection Windows Xp ou Supérieur

  • signaler à un administrateur
    Commentaire de erasator le 28/01/2006 01:24:25

    Et en Visual Basic .NET, ca donne quoi ?
    Et oui, je trouve aussi que ce serait bien de pouvoir savoir si le lecteur est déjà ou non vérouillé ...

    Personellement, je donne 10 / 10 ;)

  • signaler à un administrateur
    Commentaire de jeraos le 31/01/2006 15:45:35

    c'est super !!

  • signaler à un administrateur
    Commentaire de joebarteamv le 21/07/2006 14:24:55

    Bonne Idée et en plus ca marche du premier coup!10/10

  • signaler à un administrateur
    Commentaire de XelectroX le 22/11/2006 14:56:55

    Pourrais-je juste savoir si des explication ou autres infos se trouvent sur MSDN et si oui, a quelle page ?
    Merci d'avance.

    PS : 10/10

  • signaler à un administrateur
    Commentaire de Renfield le 22/11/2006 15:07:43 administrateur CS

    tu as des infos là :

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/deviceiocontrol.asp

  • signaler à un administrateur
    Commentaire de XelectroX le 26/11/2006 15:32:03

    Merci

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS