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

  1. #1
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    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 sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    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
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    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 éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

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

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

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    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
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    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
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Tu penses que ShellExecute() directement sur le chemin du lecteur démarrerait son autorun? Ça peut se tenter en effet...
    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.

  9. #9
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Vous pensez qu'avec ShellExecute, on peut faire ce qu'on ne peut pas faire avec system ?
    Donc en gros il faudrait trouver les bons paramètres, sauf que je n'ai trouvé que "open" et "explore" comme paramètres qui pourraient être utiles, je doute que explore lance l'exécution automatique, je vais essayer open mais je suis un peu sceptique (je vais essayer au moins ces deux d'ailleurs).
    Par contre il me faudra plus de temps pour essayer, car j'ai un autre problème sur mon ordi en parallèle, je devrais essayer sur l'ordi de mon collègue. Donc ne soyez pas surpris si je ne vous donne pas de réponse tout de suite pour vous dire si ça a marché ou pas. Merci en tout cas.

    En y repensant, quand on appuie sur le bouton du lecteur pour faire entrer un DVD par exemple, l'autorun se lance, il n'y aurait pas moyen de savoir tout ce qui se passe (appels systèmes et autres) lorsque l'on appuie sur ce bouton ? (Au cas où ShellExecute ne marcherait pas, parce que je n'y crois pas trop : ce n'est pas très différent de system je crois).

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Essaie sans mettre de verbe du tout.
    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.

  11. #11
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Tu parles de mon post ?
    Ou bien de ShellExecute ? Parce que dans ce cas là je comprend pas ce que tu veux dire..

  12. #12
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Guereous Voir le message
    Tu parles de mon post ?
    Ou bien de ShellExecute ?
    Il parle de ShellExecute

    Regarde la doc MSDN de ShellExecute() et tu comprendras, Microsot parle de verb
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  13. #13
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    D'accord, j'ai compris, je vais essayer. Je pensais que NULL équivalait à open pour ce paramètre mais c'est vrai que ce n'est pas obligatoire...

  14. #14
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Malheureusement, j'ai essayé avec "open" et "NULL" : même résultat, pas d'exécution automatique.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Et avec NULL sans guillemets?
    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.

  16. #16
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Oui bien sûr, ce que j'ai essayé c'est sans guillemets pour NULL... Mais pas de résultats satisfaisants.

  17. #17
    Futur Membre du Club
    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 : 37

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Je me demandais si, quand on appuie sur le bouton du lecteur pour faire entrer un DVD par exemple, l'autorun se lance, il n'y aurait pas moyen de savoir tout ce qui se passe (appels systèmes et autres) lorsque l'on appuie sur ce bouton ?
    Il doit bien y avoir un moyen...

  18. #18
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Il n'y a pas d'appel système car c'est le système lui-même qui fait le travail.

  19. #19
    Membre éprouvé
    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
    Points : 1 018
    Points
    1 018
    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;

  20. #20
    Futur Membre du Club
    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 : 37

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

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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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