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 :

Lancer un exe en C dans une nouvelle fenetre


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Lancer un exe en C dans une nouvelle fenetre
    Salut !

    bon a partir de mon programme, je veux lancer un browser avec une URL. Ca j'y arrive fastoche. Mais dès que j'ai un browser déjà ouvert sur mon bureau, pouf, il se met dessus. Moi je voudrais qu'il ouvre un nouveau browser...

    Voila ma ligne de code...
    char fichier[100]="http://www.google.f";
    ShellExecute(NULL,NULL,fichier,NULL, NULL, SW_SHOWNORMAL);

    J'ai raté quelque chose ???
    Merci
    seb

  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
    Ça, ça ne dépend pas du C, mais des paramètres d'IE.

    Tu dois changer les options d'IE (parce que ces cons à M$ ont activé cette option par défaut) et ton appel de fonction ouvrira la page dans une nouvelle fenêtre.
    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
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Salut,

    Eh bien non medinoc mais merci de ta réponse. En fait il prends un browser ouvert si on met juste l'URL. Mais en ajoutant "iexplorer.exe" il en ouvre un nouveau. Je sais pas pourquoi je n'y avais pas pensé...

    enfin ça marche et c'est tant mieux !

    Merci à tous
    Seb

  4. #4
    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 si Firefox est mon navigateur par défaut, ça me l'ouvre dans IE quand même...

    Je comprends que MS fasse ça pour leurs propres programmes comme MSN et Windows Update, mais c'est déjà bien laxatif.
    Alors si en plus un autre programme fait ça, à la place de l'utilisateur je chercherais une alternative qui utilise le browser par défaut.

    Si l'utilisateur ne sait pas régler son IE ou son FF, c'est sa faute. Si tu forces l'utilisation d'IE, c'est la tienne. Le choix est vite fait...
    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.

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Tu as raison, je devrais dans l'idéal prendre le navigateur par defaut (d'ou mon nouveau poste sur la lecture de la base de registre (entre autre pour cela).

    Merci
    seb

  6. #6
    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 prends le problème à l'envers.

    Le navigateur est CONFIGURÉ pour "attrapper" les autres pages et les ouvrir dans la même fenêtre.

    Si un utilisateur a volontairement choisi cette option (il doit bien y en avoir, quand même), il ne sera pas content de voir une nouvelle fenêtre s'ouvrir!

    Donc, laisse ton ShellExecute() sur l'adresse tranquille et le navigateur se comportera comme l'utilisateur l'a choisi...

    PS: Voici les chemins des options, puisque tu ne me crois pas:
    • IE7 (En Anglais) : Menu "Tools" -> "Options" -> Onglet "General" -> "tabs" -> bouton "Settings" -> cadre "Open links from other programs in:"
      (Menu "Outils" -> "Options" -> "Général" -> "Onglets" -> "Paramètres" -> "Ouvrir les liens provenant d'autres applications dans:")
    • Firefox : Menu "Outils" -> "Options" -> Onglets -> Cadre "Ouvrir les liens provenant d'autres applications dans:"
    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.

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    si si je te crois mais je me suis peut être mal exprimé.

    Mon client à un soft qui fait des tas de choses. Nouvellement les reports ont été déplacé sur un serveur web quelconque donc accessible via un browser.
    Dans le client, on débranche les anciens reports et on lance à la place (meme item de menu) la bonne URL pour que l'utilisateur accede toujours.
    Si le mec navigue sous ie et que je lui pique sa page pour mettre la mienne il va gueuler (d'autant que pour la plus part ils comprendront rien à ce qui arrive). En gros je respecte son surf (d'autant que le big boss fait partie de la cible d'utilisateur...)
    Si je lance un nouvel ie de force avec ma page, fondamentalement c'est très bien mais il y aura tjs un mec ou deux pour me dire comme toi : moi je suis sous firefox donc lance moi firefox...
    Conclusion, je voudrais lire la regedit, trouver le navigateur par defaut (ie à 99%) et en lancer un nouveau avec ma page...
    Enfin j'ai pas trop la main (voir meme pas du tout) sur la config des postes causes que c'est normalisé ici et que meme les utilisateurs sont un peu bridé...

    Voila voilou...
    seb

  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
    Citation Envoyé par scourt
    Si le mec navigue sous ie et que je lui pique sa page pour mettre la mienne il va gueuler (d'autant que pour la plus part ils comprendront rien à ce qui arrive).
    Ce que tu sembles oublier, c'est que ça n'arrivera pas à moins que IE soit CONFIGURÉ pour que ça arrive!

    Donc tu ne respectes rien puisque tu ne respectes pas les paramètres de son navigateur.
    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
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Ben si justement si je fais : shellExecute( "iexplore.exe", "http://...") ça fonctionne, il ouvre un nouveau navigateur. Il me reste juste à changer iexplorer.exe par l'exe pris dans la regedit...

    Seb

  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
    Ben non justement, car si j'ai réglé IE7 sur "un nouvel onglet dans la fenêtre active", ça m'ouvrira dans une nouvelle fenêtre quand même...

    Le ShellExecute() d'origine (sans le nom de l'exécutable) était le bon, il suffit juste que le navigateur soit correctement réglé...
    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
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Mais je peux pas le régler !!!! Mon client à 40 000 postes utilisateurs répartis sur la planete, masterisé selon les normes "d'architecte" qui décident des valeurs du master. Après c'est au application de se plier à cela.

    Mais bon j'ai ma réponse... merci quand même...

    seb

  12. #12
    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 veux dire que chez ton client, les employés n'ont pas le droit (règlement ou numérique) de régler leurs paramètres utilisateur d'IE ? (oui, c'est un paramètre utilisateur, pas un paramètre admin ni de poste, chaque utilisateur est supposé pouvoir choisir à sa guise).

    Tu peux me dire le nom de la boîte, que je ne vienne jamais y bosser ?
    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.

  13. #13
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Oui t'as tout pigé ! Et j'en connais plus d'une de comme ça... je crois même que c'est de pire en pire... J'ai vu des mecs revampé des applis pour limiter les droits d'accès...

    Moi j'essaye de faire avec... et y'a des fois j'y arrive pas...

    Merci pour ton aide en tout cas, t'es bien sympa
    Seb

  14. #14
    Candidat au Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Pour Nouvelle Fenetre
    char fichier[100]="http://www.google.f";
    ShellExecute(NULL,NULL,fichier,NULL, NULL, SW_SHOWBLANK);

  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
    SW_SHOWBLANK est introuvable aussi bien sur MSDN que sur Google que dans mes headers.
    Ce doit être une constante spécifique à IE, quelle doit être sa valeur ?
    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
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/06/2009, 13h36
  2. Réponses: 3
    Dernier message: 19/06/2006, 10h26
  3. Réponses: 2
    Dernier message: 12/05/2006, 16h37
  4. Charger un POST dans une nouvelle fenetre
    Par cisse18 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/04/2006, 15h03
  5. lien dans une nouvelle fenetre
    Par benjamin_normand dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/01/2006, 11h43

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