begin process at 2012 02 17 01:22:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > VERROUILLEZ L'OUVERTURE DE VOS LECTEURS CD-ROM

VERROUILLEZ L'OUVERTURE DE VOS LECTEURS CD-ROM


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :12 031 / 1 476

Auteur : Renfield

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
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

Les Membres Club peuvent 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

 Sources du même auteur

Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ...
Source avec Zip Source avec une capture JSON PARSER - ANALYSE DE CHAINES JSON
Source avec Zip Source avec une capture MODULE DE TÉLÉCHARGEMENT DE FICHIER BASIQUE (SYNCHRONE / ASY...
Source avec Zip COURS DE PILOTAGE........D'APPLICATIONS
Source avec Zip CSOCKET - REMPLACEZ WINSOCK PAR LA VERSION 2 DES API

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) MON LECTEUR MP3 par kentharold
Source avec Zip Source avec une capture LECTEUR MULTIMÉDIA par lartiguef
Source avec Zip Source avec une capture Source .NET (Dotnet) A.S.S.B BELGIUM LECTEUR EID par iblsysteme
Source avec Zip Source avec une capture Source .NET (Dotnet) LECTEUR PLAYER MULTIMÉDIA (MUSIQUES ET VIDÉOS) par aus3004
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET2] REPRÉSENTATION GRAPHIQUE DES CLUSTERS D'UN VOLUME par Willi

Commentaires et avis

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é.

Commentaire de Nexto le 04/01/2006 11:51:09

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

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!?!?!?

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

Commentaire de Unreal le 04/01/2006 20:54:07

Tres tres bien :)

Commentaire de zeboss31 le 04/01/2006 21:39:52

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

Commentaire de Alain_Guerin le 05/01/2006 00:22:24

Tout simplement brillant !

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

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)

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 ?

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

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)

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

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 :)

Commentaire de the_best le 07/01/2006 12:08:19

ça peut être un peut dangereux non ?

Commentaire de TomIlliev le 08/01/2006 12:19:20

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

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)

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

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 ;)

Commentaire de jeraos le 31/01/2006 15:45:35

c'est super !!

Commentaire de joebarteamv le 21/07/2006 14:24:55

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

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

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

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 automatique d'un lecteur reseau une fois connecté [ par liocifer ] Bonsoir, Comment procède-t'on pour ouvrir automatiquement un lecteur réseau une fois connecté avec le passage des paramètres (domaine@utilisateur, mo 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales