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 :

ShellExecute et ouverture d'URL pour pocketPC


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut ShellExecute et ouverture d'URL pour pocketPC
    BONJOURS
    Je cherche un code aussi simple que celui là (qui marche sous XP) pour pocket PC:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShellExecute(NULL, "open", "http://http://www.developpez.net",
                    NULL, NULL, SW_SHOWNORMAL);
    J'ai bien des pistes autour de cette fonction :
    mais je n'arrive pas a trouver un code simple (si ça existe!)
    question annexe: pourquoi le ShellExecute a un prototype différent sous PocketPC et WIN32? (J'ai bien pensé que c'était exprès pour m'embêter....mais j'en suis pas sur)

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bon finallement j'ai un peu honte j'ai trouvé un truc:
    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
    void OuvriURL (void)
    {
    SHELLEXECUTEINFO sei;
       //On prépare la structure pour le ShellExecute
       memset(&sei, 0, sizeof(sei));
       sei.cbSize = sizeof(sei);//size of the structure in bytes
       sei.fMask=SEE_MASK_NOCLOSEPROCESS;//Mask Flags
       sei.hwnd= NULL;//Handle to any message box,when this function execute
       sei.lpVerb=TEXT("open");//verb variables for open the file mentioned in lpFile
       sei.lpDirectory=NULL;//Working directory name.NULL tells the current working Dir
     
       sei.lpFile=TEXT("iexplore");//executable file Name(.exe)
       sei.lpVerb = TEXT("open");//verb variables for open the file mentioned in lpFile
       sei.lpParameters = TEXT("http://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=4947631");//no parameters to file
       sei.nShow=SW_SHOWNORMAL; //It shows the window as normal windowL
       sei.hInstApp=NULL;
       //On lance le ShellExecute
       ShellExecuteEx(&sei);
    }
    y'a plus simple?

  3. #3
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    question annexe: pourquoi le ShellExecute a un prototype différent sous PocketPC et WIN32 ?
    D'abord ce n'est pas toute l'API Win32 qui est disponible sur Windows Mobile, la taille occupée par Windows dans les appareils mobiles doit être la plus petite que possible. ShellExecute par exemple n'existe tout simplement pas sous Windows Mobile, ce n'est pas une question de prototype. ShellExecute n'a pas été implémentée dans Windows Mobile parce qu'utiliser ShellExecuteEx peut avantageusement la remplacer. De même tout est pratiquement en Unicode, parce que définir des versions ANSI et Unicode en même temps, ça bouffe de l'espace et en plus les fonctions ANSI sont également plus lentes que les fonctions Unicode (à cause de la traduction systématique ANSI vers Unicode).

    y'a plus simple ?
    Dans ce cas précis, tu peux enlever les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sei.hwnd=NULL;
    sei.lpDirectory=NULL;
    sei.hInstApp=NULL;
    Puisque le memset met déjà tous les bits à 0. Et sei.lpVerb=TEXT("open"); est répété deux fois, ne garde qu'une occurrence seulement.

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    MERKI

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/01/2006, 21h30
  2. [Info] Quels outils de develpt puis-je utiliser pour pocketpc
    Par chris69000 dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 22/06/2004, 10h25
  3. [Flash MX] Problème d'ouverture d'URL
    Par n_tony dans le forum Flash
    Réponses: 2
    Dernier message: 07/04/2004, 16h13
  4. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49

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