begin process at 2012 05 29 22:52:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

C lancer progamme externe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

C lancer progamme externe

lundi 9 juillet 2007 à 07:20:47 | C lancer progamme externe

Yunchi

Bonjour, J'aimerai lancer une application externe depuis un programme en C. La commande system("test.exe"); marche bien mais le probleme avec cette fonction est qu'elle attend que le programme test.exe se finisse avant de pouvoir faire autre chose. J'aimerai donc savoir s'il existe d'autres fonctions faisant la meme chose mais sans mettre en pause le programme qui le lance. J'ai aussi essayer ShellExecute(NULL,NULL,"test.exe",NULL,NULL,SW_SHOW); mais il y'a une erreur avec le dernier parametre lors de la compilation. " 'SW_SHOW' undeclared (first use in this function) " pareil avec SW_SHOWNORMAL Si quelqu'un connait une solution je le remercie d'avance
lundi 9 juillet 2007 à 09:19:39 | Re : C lancer progamme externe

BruNews

Administrateur CodeS-SourceS
#include <windows.h>

ciao...
BruNews, MVP VC++
lundi 9 juillet 2007 à 09:33:34 | Re : C lancer progamme externe

Yunchi

Merci bien ca marche maintenant ShellExecute :)
lundi 9 juillet 2007 à 09:35:59 | Re : C lancer progamme externe

Yunchi

euh quelqu'un peut m'expliquer rapidement la difference entre lancer un programme avec system("prog.exe"); et ShellExecute(NULL,NULL,"prog.exe",NULL,NULL,SW_SHOW); ? merci
lundi 9 juillet 2007 à 09:41:42 | Re : C lancer progamme externe

BruNews

Administrateur CodeS-SourceS
system() est une lib du runtime C, donc une surcouche qui masque l'appel API.

ciao...
BruNews, MVP VC++
lundi 9 juillet 2007 à 11:31:57 | Re : C lancer progamme externe

Yunchi

sur MSDN on trouve : HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); pour le premier parametre c'est explique : hwnd : [in] A handle to the owner window used for displaying a user interface (UI) or error messages. This value can be NULL if the operation is not associated with a window. quelqu'un pourrait m'expliquer le premier parametre et me donner un exemple de ce que l'on peut mettre svp ? merci
lundi 9 juillet 2007 à 11:55:53 | Re : C lancer progamme externe

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

En général, on met le handle de la fenêtre principale. Pour le coup de la "user interface", je vois pas de quoi ils parlent, mais pour le message d'erreur, c'est ce handle qui est certainement passé à MessageBox.
Comme ça l'erreur est clairement associé à la fenêtre qui a le handle.

Si tu fait une appli console, je sais pas si il y a moyen de récupérer un handle sur ta fenêtre.

system, ça faisait un CreateProcess de cmd /C L_argument_passé_a_la_fonction, si mes souvenirs sont bons.

Donc en plus de prendre en charge les exes, ça prend les commande DOS, genre pause, dir...

Mais rien n'empèche de faire un cmd /C dans un ShellExecute. (Ou un CreateProcess bien sûr)
lundi 9 juillet 2007 à 12:26:48 | Re : C lancer progamme externe

Neo_Fr

Membre Club
Récuperer le handle de la console: HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
lundi 9 juillet 2007 à 12:54:27 | Re : C lancer progamme externe

rt15

Membre Club Administrateur CodeS-SourceS
C'est un handle aussi, mais ce n'est pas celui de la fenêtre de la console. Celui là sert plutôt à identifier le "screen buffer".

Voilà une méthode proposée par Microsoft pour récupérer le handle de fenêtre de la console. Du bricolage...



Cette discussion est classée dans : exe, programme, lancer, test, externe


Répondre à ce message

Sujets en rapport avec ce message

DEV C++ -> pr lancer "exe" de mon programme [ par grandebutant ] svp Sur DEV C++, je voudrais lancer un exe de mon programmeAAAauuuuuuuu seeeeeccccouuurrrr!!Merci aux dieux de la programmation !! lancer "exe" de mon programme. [ par grandebutant ] svp ! Grands seigneurs de la programmation !Que dois-je faire pour lancer de mon programme un "exe" qui ne soit pas une commande dos.Merci vos seigneu Lancer un exécutable à partir d'un programme C [ par yoyo_du_49 ] Est-il possible de lancer un exécutable (.exe) à partir d'un programme C en écrivant une instruction particulière dans le main() ?Exemple:lancer exemp comment lancer un programme externe [ par dams05 ] salut je voudrais savoir coment lancer un programme externe comme un jeux ou un truc comme ça avec une console d'aplication Lancer un programme [ par badrbadr ] Salut,Je voudrais executer un programme (Notepad.exe ou calc.exe par exemple) à partir de mon programme C/Win32. Je voudrais aussi que la fonction qui VC++ lancer un programme externe [ par Yunchi ] Bonjour,J'aimerai savoir comment on peut lancer un programme externe lorsque l'on clique sur un bouton svp. Ca serait comme un system("prog.exe") en C lancer un .exe avec Cygwin [ par Fathilde ] Bonjour à tousJe viens de réaliser un programme en C++, compiler avec C++ builder et ce programme doit être utilisé sur un système d'acquisition via C Incorporer un fichier exe dans un apli c++ [ par yuyunho ] Bonjour,Je suis en train mettre au point un programme qui affiche des caractéristiques d'une ligne téléphonique.En fait, chez orange il y a un program Probléme : CreateWindow (creer bouton) sur une fenetre externe au programme [ par Mareck666 ] Salutation a tous le monde, j'aimerai savoir si il est possible de créer un bouton via la fonction CreateWindow de l'api de windows sur une fenêtre ex


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,934 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales