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++Builder Discussion :

Lancer un executable en mode plein écran depuis son application [Débutant]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par défaut Lancer un executable en mode plein écran depuis son application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AnsiString lignecommande = F9path+ "Showroom.exe";
    	ShellExecute(NULL,"open",lignecommande.c_str(),NULL,NULL,SW_SHOW );
    L'application Showroom.exe s’exécute en temps normal en fullscreen mais au lieu de se lancer j'ai un message :"Showroom.exe a cesser de fonctionner"
    merci de m'aider

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Salut, va voir la doc de ShellExecute. Je crois que tu as seulement besoin de mettre SW_SHOWMAXIMIZED dans le paramètre nShowCmd.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par défaut
    Citation Envoyé par Crayon Voir le message
    Salut, va voir la doc de ShellExecute. Je crois que tu as seulement besoin de mettre SW_SHOWMAXIMIZED dans le paramètre nShowCmd.
    Merci mais j'ai essayé et j'ai une fenêtre qui s'ouvre et se ferme aussi tot

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par FMAX13200 Voir le message
    Merci mais j'ai essayé et j'ai une fenêtre qui s'ouvre et se ferme aussi tot
    Pourtant quand je fais ce code pour démarrer Paint, sa fonctionne bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String lignecommande = "mspaint.exe";
    ShellExecuteW(NULL, L"open", lignecommande.c_str(), NULL, NULL, SW_SHOWMAXIMIZED);

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par défaut
    Citation Envoyé par Crayon Voir le message
    Pourtant quand je fais ce code pour démarrer Paint, sa fonctionne bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String lignecommande = "mspaint.exe";
    ShellExecuteW(NULL, L"open", lignecommande.c_str(), NULL, NULL, SW_SHOWMAXIMIZED);
    Je viens d'essayer la fenêtre s'ouvre et se referme de suite avec le message Schowroom a cessé de fonctionner
    je précise que l'application Schowroom est en mode plein écran. et que si je lance Schowroom directement elle fonctionne très bien...

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par défaut
    J'ai trouvé la solution, il faut créer un raccourci qui precise la case "démarrer dans"
    --->SetWorkingDirectory

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    //--------------Creation du raccouci--------------------
    	HRESULT hres;
    	IShellLink* psl;
    	WORD wsz[MAX_PATH];
     
    	CoInitialize(NULL);
    	hres = CoCreateInstance(CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER,
    								 IID_IShellLink, (LPVOID *)&psl);
     
    	if (SUCCEEDED(hres))
    	   {
    		IPersistFile* ppf;
    		lignecommande =  "c:\\acShowroom.exe";
    		psl->SetPath(lignecommande.c_str());
    		psl->SetDescription("AC Showroom");
     
    		psl->SetWorkingDirectory("c:\\");
     
    		psl->QueryInterface(IID_IPersistFile,(LPVOID *)&ppf);
    		lignecommande = "c:\\acShowroom.lnk";
    		MultiByteToWideChar(CP_ACP, 0,lignecommande.c_str(), -1,
    											  (LPWSTR)wsz, MAX_PATH);
     
    	   ppf->Save((LPWSTR)wsz, TRUE);
    	   ppf->Release();
    	   }
    	 psl->Release();
    	 CoUninitialize();
    puis lancer le raccouci
    j'ai galéré mais j'y suis arrivé

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Février 2013
    Messages : 70
    Par défaut
    Citation Envoyé par FMAX13200 Voir le message
    Merci mais j'ai essayé et j'ai une fenêtre qui s'ouvre et se ferme aussi tot
    C'est le comportement par défaut des applications compilées en mode texte de beaucoup d'IDE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <iostream>
     
    int main()
    {
      std::cout << "Bonjour le monde!";
    }
    Ce code va souvent créer une nouvelle fenêtre, y écrire Bonjour le monde! plus rapidement que l’œil humain peut le lire et détruire immédiatement la fenêtre.

    Afin d'éviter cela, il suffit de lire quelque chose après l'écriture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char c;
    std::cin>>c;
    std::cout<<c; //Pour éviter un avertissement que c n'est pas utilisé suite à son initialisation
    On force la fenêtre à demeurer à l'écran pendant la lecture de la variable c, ce qui laisse le temps de lire le texte.

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

Discussions similaires

  1. Mode plein écran pour une application
    Par raggnic dans le forum Développement Windows
    Réponses: 1
    Dernier message: 05/11/2012, 10h35
  2. Formulaires en mode plein écran
    Par PAUL87 dans le forum IHM
    Réponses: 18
    Dernier message: 26/11/2005, 11h45
  3. Presentation d'un formulaire en mode plein écran
    Par PAUL87 dans le forum Access
    Réponses: 4
    Dernier message: 13/11/2005, 20h04
  4. mode plein écran
    Par Rinoud dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 30/09/2004, 01h04
  5. Réponses: 17
    Dernier message: 17/10/2002, 20h06

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