IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[vs2003][c#] éjecter le lecteur


Sujet :

C#

  1. #1
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut [vs2003][c#] éjecter le lecteur
    Bonjour les cerveaux!
    Je voudrais savoir s'il existe en c# 1.1 une classe permettant de savoir si un cd est inséré dans le lecteur et de l'éjecter
    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Tu peux utiliser les objets WMI pour faire cela.

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Etant tombé amoureux du logiciel WMICodeCreator je n'ai pas pu m'empécher de chercher le code nécessaire pour afficher si un CD est chargé.

    Donc voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    using System;
    using System.Management;
    using System.Windows.Forms;
     
    namespace WMISample
    {
        public class MyWMIQuery
        {
            public static void Main()
            {
                try
                {
                    ManagementObjectSearcher searcher = 
                        new ManagementObjectSearcher("root\\CIMV2", 
                        "SELECT * FROM Win32_CDROMDrive"); 
     
                    foreach (ManagementObject queryObj in searcher.Get())
                    {
                        Console.WriteLine("-----------------------------------");
                        Console.WriteLine("Win32_CDROMDrive instance");
                        Console.WriteLine("-----------------------------------");
                        Console.WriteLine("MediaLoaded: {0}", queryObj["MediaLoaded"]);
                    }
                }
                catch (ManagementException e)
                {
                    MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
                }
            }
        }
    }

  4. #4
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par ced600 Voir le message
    1. Je tiens à te signalé que notre cerveaux n'est pas la seule partie de notre corps. Nous traiter de cerveaux reviens à nous insulter. Tant que tu y es pourquoi pas nous traiter de geek ?????
    Si je "nous" traite de cerveaux c'est parce que je trouve que nous réfléchissons bien et apportons des coups de main à d'autres en difficultés!

    Nous traiter de cerveaux reviens à nous insulter
    T'es sûr?

    Je teste rapidement ton code te je t'en dis des nouvelles! merci pour toin coup de main.

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    T'es sûr?
    Oui cela nous enfermes dans un stéréotype qui ne représente pas qui nous sommes réellement.
    Nous n'allons pas épiloguer la dessus, je l'ai mal pris, mais ton intention n'était pas de mépriser et d'insulter, alors je m'ecuse si j'ai été dure.

    Je n'ai pas trouvé en WMI pour l'éjection du CD et cela m'étonne.
    Enfin MediaLoaded te permet au moins de savoir si le CD est dedans.
    Si tu ne trouves pas comment éjecter le CD tu peux toujours faire une PopUp qui demande à l'utilisteur de le faire selon le contexte de ton projet.

  6. #6
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    ....alors je m'excuse si j'ai été dur.
    Tu l'es souvent mais bon j'aime bien! celà stimule.
    Pour en revenir au problème, je bosse en 1.1 ce qui fait que je n'ai pas la classe System.Management
    ya d'autre moyens?
    merci

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par fally Voir le message
    je n'ai pas la classe System.Management
    ya d'autre moyens?
    merci
    Tu as ajouté la référence System.Management à ton projet ?

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Le NameSpace est disponible en 1.1, et voici le lien MSDN pour l'aide basé sur me framework 1.1 :
    http://msdn2.microsoft.com/en-us/lib...nt(VS.71).aspx


    Tu l'es souvent mais bon j'aime bien! celà stimule.
    rhoooo mais après tout le monde va croire que je suis méchant alors que je ne ferais pas de mal à une mouche !!!
    Oui non je ne ferais jamais de mal à mes mouches, peut être une ou deux homes au petit déj, mais je ne toucherais jamais à mes mouches

  9. #9
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Je jette un coup d'oeil au lien et je t'en dis des nouvelles!

  10. #10
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Mille milliards de mille sabord! ce namespace existe!
    ok! j'ai une question quel type d'application dois-je choisir? console ou windows?
    merci ced600

  11. #11
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Heu... Peu importe vu que tu peux rajouter dans les références le namespace que tu veux, ou la dll, ou tout autre référence vers des bibliothèques de classes.

  12. #12
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Merci ced600 et Thomas! tout marche bien! je voudrais cependant pouvoie éjecter le lecteur s'il est chargé. j'explique mon contexte :
    je veux empecher qu'on utilise mon lecteur; je voudrais sonder l'etat du lecteur et s'il est chargé l'éjecter à chaque fois

  13. #13
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    J'ai pas trouvé du coté WMI

  14. #14
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    hum! je cherche de mon coté! merci bcp

  15. #15
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Je crois que ceci pourrait t'aider à faire ce que tu souhaites mais il s'agit d'appels sur des API Win32.

  16. #16
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Text; 
    using System.Windows.Forms; 
    using System.Runtime.InteropServices; 
     
     
    namespace OpenCloseCD 
    { 
    public partial class Form1 : Form 
    { 
    [DllImport("winmm.dll", EntryPoint = "mciSendStringA")] 
    public static extern void mciSendStringA(string lpstrCommand, string lpstrReturnString, long uReturnLength, long hwndCallback); 
    string rt = ""; 
     
    public Form1() 
    { 
    InitializeComponent(); 
    } 
     
    private void buttonOpen_Click(object sender, EventArgs e) 
    { 
    textBox1.Text = "CD Door Is Open Now!"; 
    { mciSendStringA("set CDAudio door open", rt, 127, 0); } 
    } 
     
    private void buttonClose_Click(object sender, EventArgs e) 
    { 
    textBox1.Text = "CD Door Is Closed Now!"; 
    { mciSendStringA("set CDAudio door closed", rt, 127, 0); } 
    } 
     
    private void buttonExit_Click(object sender, EventArgs e) 
    { 
    Application.Exit(); 
    } 
    } 
    }
    Merci bcp bcmdev!
    le namespace System.Collections.Generic existe en 1.1?

  17. #17
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Non valable depuis le 2.0

  18. #18
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    xa marche les gars
    il ne me reste juste qu'a completer avec le code de ced600 pour ejecter dès qu'un cd est chargé!
    je vous en donne des nouvelles!

Discussions similaires

  1. éjecter lecteur cd
    Par youp_db dans le forum Windows
    Réponses: 7
    Dernier message: 31/03/2007, 14h09
  2. [Lecteur] Lettre du lecteur de CD
    Par petit scarabée dans le forum Installation, Déploiement et Sécurité
    Réponses: 6
    Dernier message: 05/09/2002, 18h47
  3. Connecter un lecteur reseau
    Par manusweb dans le forum C++Builder
    Réponses: 4
    Dernier message: 03/09/2002, 12h07
  4. Bloquer le lecteur cd
    Par krusaf dans le forum MFC
    Réponses: 3
    Dernier message: 07/07/2002, 13h09
  5. Réponses: 2
    Dernier message: 04/06/2002, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo