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

Windows Discussion :

Exécution automatique d'un lecteur à partir de l'invite de commande


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Etude et Développement Web
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Par défaut Exécution automatique d'un lecteur à partir de l'invite de commande
    Bonjour.
    C'est mon premier message sur le forum donc je ne suis pas sûr que ce soit le bon endroit pour poster, donc soyez indulgents

    Je programme sur C++, et je suis amené à lancer une exécution automatique d'un DVD (lecteur D) via la fonction system qui permet de lancer une commande système à l'invite de commande.

    Quand je met mon DVD, l'exécution automatique démarre et en allant dans le gestionnaire des tâches, on voit que le processus correspondant est "explorer.exe"
    Mais évidemment si, sur C++ je met : system("start explorer.exe");
    je n'aurai pas la fenêtre de l'exécution automatique du DVD mais la fenêtre de l'explorateur windows...

    Ma question est donc, comment lancer l'exécution automatique (à partir peut être de l'explorer.exe via commandes systèmes).

    Merci d'avance, j'espère que j'ai bien respecter les règles du forum..

    PS : Ah oui, au fait, ce n'est pas la peine de me dire d'aller voir sur google, c'est déjà fait, mais avec le problème actuel du virus qui empêche l'exécution automatique, je n'ai pas pu trouvé

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Je pense qu'il faut utiliser COM, mais j'ignore quelle interface est concernée pour les lecteurs CD et DVD...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur Etude et Développement Web
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Par défaut
    J'ai regardé un peu ce qu'était que le COM dont tu me parles sur google... Mais je ne vois pas comment faire, je crois qu'il y a plus simple...

    Merci quand même de ta réponse rapide.

    Et en fait, je lance dans l'invite de commande
    start explorer.exe D:
    Ce qui me ouvre l'explorateur windows en ouvrant le lecteur D: mais il ne fait pas d'exécution automatique... Je voudrais qu'il me lance l'exécution automatique où il demande l'action à faire...

    Je pensais à une option de start pour faire ça, mais je trouve pas

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 512
    Par défaut
    Je ne comprend pas pourquoi vous n'utiliser pas "l'autorun" de Window.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Le problème, c'est qu'il cherche justement à démarrer l'autorun en question, en réagissant à autre chose que la bète insertion du CD...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur Etude et Développement Web
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Par défaut
    En fait je veux lancer l'autorun mais à partir de l'invite de commande (ou plus exactement de C++ qui peut faire des appels systèmes pour lancer des commandes à l'invite de commande).

  7. #7
    Membre émérite
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Je pense qu'il faut utiliser COM, mais j'ignore quelle interface est concernée pour les lecteurs CD et DVD...
    C'est Media Control Interface (MCI) qui, entre autres, est en charge de la gestion des éléments multimédia (dont lecteur DVD) sur les plateformes Windows.

    Header: Mmsystem.h, Lib: Winmm.lib
    Voir également les fonctions mciSendString() / mciSendCommand()

    Pour info, la fonction ShellExecute n'a aucun intérêt ici, car la reconnaissance du média est fonction de son type (et du format de son support), pas des extensions des fichiers qu'il peut contenir.

    enjoy;

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur Etude et Développement Web
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Par défaut
    Ok merci, j'essayerai ça lundi au travail

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur Etude et Développement Web
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Par défaut
    Merci beaucoup.
    J'ai réussi plus ou moins à faire ce que je voulais, j'améliorerai le moyen utilisé plus tard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Utilisation des MCI (Media Control Interface)
          AnsiString Lecteur ="D:\\";
          AnsiString Mes = "open " + Lecteur + " type cdaudio alias cdaudio";
    
          mciSendString(Mes.c_str(), 0, 0, 0); //on cree l'association
          mciSendString("Set cdaudio door open wait", 0, 0, 0);  //on ouvre le tiroir
    
          ShowMessage("Attention : surtout ne touchez pas au lecteur : cliquez sur OK : exécution automatique, vous pourrez ensuite choisir le logiciel de lecture DVD");
    
          mciSendString("Set cdaudio door closed wait", 0, 0, 0);  //on ferme le tiroir
          mciSendString("close cdaudio", 0, 0, 0);  //on cloture l'association
    En fait j'ouvre le tiroir du lecteur DVD puis le referme ce qui lance automatiquement l'exécution automatique, j'aurai préféré une autre solution, mais comme mon programme a des zones à corriger plus importantes, ça ira comme solution temporaire.
    Merci à tous.
    Je ne met pas encore en résolu, au cas où vous me donneriez une solution plus optimale

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur Etude et Développement Web
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Par défaut
    Merci, je résoudrai le reste plus tard tout seul.
    Merci pour toutes ces réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer un code java a partir de l'invité de commande de windows
    Par lchouchou dans le forum Général Java
    Réponses: 3
    Dernier message: 16/05/2013, 15h41
  2. Exécution à partir de l'invite de commande
    Par tcheffa dans le forum Général Java
    Réponses: 3
    Dernier message: 08/09/2011, 17h21
  3. Réponses: 2
    Dernier message: 07/04/2008, 13h35
  4. Réponses: 5
    Dernier message: 21/06/2007, 14h31

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