Aller au contenu
Warmania forum
Gandahar

shellexecute : démarrer une application

Recommended Posts

Décidément, je ne suis pas copain avec Windows... :happy:

Je suis sous Windows 7 et j'essaie de lancer un exécutable externe à partir de mon programme écrit en C.

en fait, j'autorise l'utilisateur à modifier sa résolution et la profondeur des couleurs et j'ai besoin de relancer le programme dans ce cas. j'utilise les bibliothèques SDL et c'est bien plus simple pour moi de fermer le programme et le relancer que d'essayer d'appliquer les modifs en direct. Acutellement, le programme se ferme et l'utilisateur doit le relancer à la main, je souhaiterais qu'il se relance tout seul.

Bref, j'ai essayé de lancer le programme par une commande DOS : system ("C:\Developpements\toto.exe");

Le problème est que rien ne se passe. J'ai essayé avec des '//', des '\', des '\\', mais strictement rien ne s'exécute. Pourtant, si je lance la commande system ("Cd.."); je vois bien une fenêtre DOS qui s'ouvre et se ferme (Oui, je connais les commandes DOS...).

J'ai donc essayé l'instruction shellExecute : ShellExecute(NULL, "Open","C:/Developpements/toto.exe",NULL,NULL,SW_SHOWDEFAULT);

Le programme affiche mon écran d'introduction, se plante sans me dire pourquoi et Windows essaye de chercher une solution sur internet...

Mon instinct me dit de lancer le raccourcis au lieu de l'exécutable, je l'ai donc codé : ShellExecute(NULL, "Open","C:/Users/Gandahar/Desktop/toto",NULL,NULL,SW_SHOWDEFAULT);

Et là, ça fonctionne parfaitement...

Savez-vous s'il y a des paramètres à ajouter pour lancer l'exécutable, des paramètres qui seraient ajoutés par Windows lorsqu'on active un raccourcis ?

Je vois souvent des trucs avec des signes '-' comme des -r, -w ou autres, mais je ne connais pas ces trucs-là. Vous sauriez m'aider ?

Nb : évidemment, mon programme n'a aucun problème quand je le lance en cliquant dessus dans l'explorateur Windows, mais je ne connais pas la syntaxe exacte de la commande qui est exécutée par l'OS.

Partager ce message


Lien à poster

Là comme ça je ne vois pas surtout que les paramètres a ma connaissance, fenêtre n'en rajoute pas sur les raccourcis.

En revanche, essaye de désactiver l'uac pour voir (je te laisse chercher).

le squat

au cas où

Partager ce message


Lien à poster

Merci pour vos réponses.

Je ne souhaite pas désactiver les autorisations des comptes utilisateurs, par contre j'ai trouvé une solution de contournement en ajoutant un raccourcis directement dans le répertoire du logiciel. en lui donnant un nom bizarre, l'utilisateur ne devrait pas s'amuser à l'enlever en pensant qu'il ne sert à rien. Et au pire, il relancera le logiciel à la main et ne s'apercevra de rien puisque lancer un truc qui n'existe pas est complètement transparent.

[Edit:]

C'est à n'y rien comprendre : maintenant je n'ai plus de plantage en lançant directement le logiciel sans passer par un raccourcis.

Moi, je vous dis que cette "chose" est vivante... :unimpressed:

Partager ce message


Lien à poster

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×