begin process at 2012 02 11 22:54:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Shell

 > 

Lancer un programme


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

Lancer un programme

vendredi 27 avril 2007 à 19:58:18 | Lancer un programme

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 execute puisse retourner un handle sur la fenêtre principale du programme.
J'ai pensé à ShellExecute et CreateProcess, mais, à moins d'être passé à côté de la plaque, ces fonctions ne retournent pas de handle sur la fenêtre principale, seulement des pid et des handles sur les threads au mieux.
Une telle fonction existe? ou dois-je obligatoirement utiliser FindWindow?

Merci


De la part d'un .net fan qui s'interesse à Win32 ces jours-ci
[:D] @++
vendredi 27 avril 2007 à 20:15:41 | Re : Lancer un programme

Neo_Fr

Membre Club
Pourquoi ne fais-tu pas un CreateProcess suivi d'un GetActiveWindow?

Neo_Fr

vendredi 27 avril 2007 à 21:53:52 | Re : Lancer un programme

BruNews

Administrateur CodeS-SourceS
C'est EnumWindows qui doit suivre CreateProcess.

ciao...
BruNews, MVP VC++
vendredi 27 avril 2007 à 22:11:55 | Re : Lancer un programme

badrbadr

Si je comprends bien ton intervention BruNews, je devrais utiliser GetWindowThreadProcessId sur les handles retournés par EnumWindows et vérifier si le pid (process ID) du process que j'ai lancé (notepad.exe par exemple) est le même retourné par GetWindowThreadProcessId.

En pseudo-code, ça donne qqchose du genre:

While(hWnd = EnumWindows)
      if(GetWindowThreadProcessId(hWnd) == notepadPID) hWnd_Que_Je_Cherche = hWnd;

Pour Neo_Fr, msdn donne ça pour GetActiveWindow :
"The GetActiveWindow function retrieves the window handle to the active window attached to the calling thread's message queue."
Si j'ai compris, ça retourne juste un handle pour la fenêtre active attachée au thread courant.

Merci à vous deux.
[:D] @++
vendredi 27 avril 2007 à 22:38:32 | Re : Lancer un programme


Cette discussion est classée dans : exe, fonction, programme, lancer, win32


Répondre à ce message

Sujets en rapport avec ce message

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 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 !! Démarer un programme [ par supergrey ] Bonjour, je voudrais savoir comment lancer un .exe a partir d'un programme j'ai essayé ca:system("start c:/Mes jeux/jeu1.exe");Mais cette fonction n'a 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 Lancer un autre programme avec Win32 [ par Ombitious_Developper ] Salut:comment peut-on lancer un programme tel que (paint,winamp,...)avec win32?et comment peut-on passer un paramétre à un autre programme avec win32 Exportations de fonction EXE --> DLL [ par rclsilver02 ] Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa C lancer progamme externe [ par 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 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 DESACTIVER SOURIS RICHEDIT API WIN32 C [ par lectpe ] Bonjour,je travaille avec l'API WIN32 en C et je voudrais savoir s'il existe une fonction pour désactiver la souris au dessus d'un richedit.Je m'expli un programme AS400 doit lancer un fichier executable PC pendant la nuit [ par persolak ] Bonjour, dans le programme CL AS400 la définition de l'utilisateur et du mot de passe est prédéfinie et si je suis connectée à l'AS400 en "local" tou


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 0,265 sec (4)

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