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é: 9 269 / 1 353

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

Cliquez pour voir la capture en taille normale
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
 

Fichier Zip

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

Historique

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

Commentaires et avis

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

Discussions en rapport avec ce code source dans le forum

Probleme d ouverture avec la commande "Ouvrir avec..." [ par toki127 ] bonsoir à tous!voila mon problème:j ai fait un petit lecteur de musique et je voulais rendre accessible l ouverture des chansons depuis la commande " Detecter l'ouverture du lecteur cdrom [ par Myki ] Bonjour,Je cherche la moyen de detecter l'ouverture du cdrom.C-a-d qui lorsque j'appuie sur le bouton eject de mon lecteur cdrom un evenement doit etr evenement de fermeture et d'ouverture d'un lecteur [ par PHILOUVB ] Mon problème est le suivant. j'ai un driveListe et un FileList qui m'affiche les fichiers des différents lecteurs. Donc je peux afficher les fichiers Ouverture du lecteur de disquette sur clik du bouton. [ par developvbdebut ] Bonjour!Je souhaiterai savoir si il est possible d'ouvrir le lecteur de disquette sur clik d'un bouton.MercieA bientôt ouverture de lecteur [ par silk78 ] bonjour a tous et a toutes kk1 conaitrait comment on peut ouvrir le lecteur (physique de la machine grace a un prog?mci de repSilkLa violence est la p Ouverture un base DBASE IV avec vb6 [ par matlocker ] bonjour,je suis un nnovice en vb et je voudrais savoir comment faire pour une ouvrir une base en dbase iv avec vb6.Quelqu'un pourrais me donner un mor Ouverture d'un fichier à distance [ par Albionbzh ] Bonjour ! J'espère que quelqu'un va pouvoir m'aider !Je programme sous access en vba, et je voudrai pouvoir accéder, grâce à un clic sur un bouton, à access 2000 ouverture et edition de requete en code [ par Gauthier62 ] Bonjour a tous, voila je vous demande de l'aide concernant mon probleme, je developpe sous access 2000 en vba et je suis ammener dans mon code a ouvri Script d'ouverture de session NT4 [ par RvOr ] Voilà, j'ai un script à l'ouverture de session qui lance un fichier .reg pour ajourter la configuration de mon proxy sur le client.Le problème c'est l Ouverture systèmatique de VBE [ par Aldigo ] Bonjour,Voilà mon soucis : J'ai affecté une macro à un bouton, tout se passe bien, par contre l' éditeur s'ouvre systématiquement, c'est à dire lorsqu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.