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 :

Un 'ShellExecute' qui fonctionne sous Windows et Linux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Par défaut Un 'ShellExecute' qui fonctionne sous Windows et Linux
    Bonjour,

    J'ai un programme ecrit en C++ pour Windows qui affiche une barre de pub. La barre elle-meme affiche une banniere GIF, et quand l'utilisateur clique sur la banniere, le programme ouvre le navigateur par defaut qui se connecte a l'adresse attachee a la banniere.

    Ma ligne de code pour ouvrir le navigateur par defaut est simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShellExecute(NULL,"open",AdresseSite,NULL,NULL,SW_SHOWNORMAL);
    Alors, ca marche tres bien. Et de plus plus la barre de pub a le bon gout de fonctionner a 99% sous Linux par l'intermediaire du logiciel Wine. Le pourcent manquant vient justement de cette commande ShellExecute qui semble ne pas fonctionner. Ma question est donc la suivante: Existe-t-il une autre commande qui permette d'ouvrir le navigateur par defaut et qui soit independante du systeme?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 106
    Billets dans le blog
    146
    Par défaut
    Bonjour,

    Faut juste installer internet explorer sous wine. Car le programme, ne pourra jamais sortir du contexte de wine.

    Sinon, pour les trucs plus multiplateforme, je dirai, utilisez Qt.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Faut juste installer internet explorer sous wine. Car le programme, ne pourra jamais sortir du contexte de wine.
    Ok, alors ceci m'amene a une autre question. Comment puis-je dans mon programme detecter si Internet Explorer est installe? Car dans le cas contraire mon programme doit se fermer en demandant a l'utilisateur d'installer IE sous wine.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 106
    Billets dans le blog
    146
    Par défaut
    Hul, là c'est de la programmation windows.
    Devrait y avoir une commande je pense ( recherche msdn ). Sinon, voir dans la base de registre ( ce qui serai pas étonnant sous windows ). Sinon, je peux rien dire de plus :s
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Je pense que tu peux tester le retour de ShellExecute/ShellExecuteEx. Voir la doc pour plus d'infos, mais normalement, GetLastError doit te donner une explication en cas d'échec.

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 641
    Par défaut
    Salut,

    En toute honnêteté, le passage par wine ne me semble pas *vraiment* être la meilleure solution à envisager si tu souhaite faire du multi plateformes...

    Ne serait-ce que parce qu'il y a encore énormément de chances qu'un utilisateur de linux ne dispose absolument pas de wine, et, dans ce cas, tu peux dire adieu à tout ce qui touche de près ou de loin aux possibilités propres à windows (shellExecute en premier, vu que tu en parle, mais, aussi tout le coté graphique, à moins que tu n'utilise Qt ou wxWidget, j'en passe, et de meilleures)

    Bref, j'aurais tendance à dire que, avant de t'inquiéter à la minorité qui pourrait souhaiter faire tourner ton application sous wine, il est sans doute des plus intéressant de faire en sorte qu'elle tourne correctement sous windows, quitte, une fois que ce sera stable de ce point de vue, à essayer de le porter réellement sous linux, mais, comme je l'ai dit, cela risque de passer par la refonte au minimum de toute la partie graphique
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. [Débuter] Programme qui fonctionne sous Linux mais qui plante sous Windows 7
    Par p1a2t3 dans le forum Qt Creator
    Réponses: 1
    Dernier message: 22/11/2014, 12h38
  2. [LibreOffice][Tableur] Une macro qui fonctionne sous Linux mais pas sous windows
    Par ludox62 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 07/01/2014, 21h26
  3. Executer un jar sous Linux qui fonctionne sous Windows ?
    Par grenoult dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/01/2012, 18h11
  4. [Prob] code qui fonctionne sous windows mais pas sous linux
    Par hannibal.76 dans le forum Multimédia
    Réponses: 3
    Dernier message: 07/02/2011, 17h46
  5. Réponses: 5
    Dernier message: 13/04/2009, 23h12

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