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

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Lancer une application


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

Lancer une application

lundi 9 juillet 2007 à 19:08:26 | Lancer une application

Scuz

Bonjour,
Je débute avec les MFC sous Visual C++, et j'ai crée une application SDI. J'aimerais lancer une application extérieure (.exe) en lui spécifiant une position et une dimension dans ma fenetre. Je ne sais pas si cela est possible, et si cette application peut rester au premier plan.

Merci d'avance
lundi 9 juillet 2007 à 20:41:47 | Re : Lancer une application

BruNews

Administrateur CodeS-SourceS
Regarde le param STRATUPINFO de CreateProcess().

ciao...
BruNews, MVP VC++
mardi 10 juillet 2007 à 09:59:41 | Re : Lancer une application

Scuz

Merci BruNews ! Je pense en effet que CreateProcess() va tout a fait convenir, mais j'ai encore un probleme : voila mon code bool ok; STARTUPINFO lpStartUpInfo; lpStartUpInfo.lpReserved=NULL; lpStartUpInfo.lpReserved2=NULL; lpStartUpInfo.lpDesktop=NULL; lpStartUpInfo.lpTitle=NULL; ok=CreateProcess( NULL, "C:\\WINDOWS\\system32\\notepad.exe", NULL, NULL, FALSE, 0, NULL, NULL, &lpStartUpInfo, &pi); if(!ok) { MessageBox(" Echec de CreateProcess ",0, MB_OK); } CreateProcess me retourne toujours FALSE. En regardant d'un peu plus pres, peut etre que l'erreur provient deSTARTUPINFO. En effet, juste avant d'etre utilisée par CreateProcess(), 3 parametres lpReserved, lpReserved2 et Desktop sont en erreur. Si vous avez une idée de l'endroit ou j'ai faux dans mon code, je suis preneur Merci
mardi 10 juillet 2007 à 10:12:29 | Re : Lancer une application

BruNews

Administrateur CodeS-SourceS
Régler membre dwFlags pour indiquer ceux concernés.
Lire MSDN qui explique tout cela.

ciao...
BruNews, MVP VC++
mardi 10 juillet 2007 à 10:27:06 | Re : Lancer une application

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Conserver une fenêtre devant une autre, ça risque d'être difficile, qui plus est quand on ne code pas soi même la fenêtre qui est devant...

Y a le syle WS_EX_TOP_MOST et aussi HWND_TOPMOST qui ont certainement à peu près le même effet.

Le plus simple restant de faire des fenêtres ne se superposant pas, et de juste minimiser/restaurer l'appli que tu lance quand l'utilisateur minimise/restaure la tienne. Un peu comme ça quoi : on voit le bureau à travers.

mardi 10 juillet 2007 à 11:17:37 | Re : Lancer une application

Scuz

Salut, merci pour vos réponses. En fait, mon application sera utilisée à terme sans souris. De plus, je pars d'un projet existant. Mon application VC++ utilise 2 écrans l'un au dessus de l'autre, et j'aimerais que dans une partie de mon écran supérieur, je puisse lancer une application extérieure et que celle-ci reste toujours visible (ne soit pas cachée par mon appli VC++). Bien que j'ai réglé le dwflags à STARTF_USEPOSITION, CreateProcess retourne toujours FALSE. Est ce que les différents arguments de CreateProcess vous paraissent approprié ?
mardi 10 juillet 2007 à 12:30:23 | Re : Lancer une application

rt15

Membre Club Administrateur CodeS-SourceS
Quand tu as une erreur comme ça, tu peux récupérer le numéro de l'erreur avec GetlastError, et la description avec un FormatMessage (Ou utiliser Error Lockup m'enfin faut m'expliquer en quoi c'est mieux de faire le travail à la main)

Pour l'initialisation, tu as un indice un peu plus haut avec dwFlags.

Tout est expliqué dans la doc.

Un truc dans ce genre là je suppose :

// On met tout à zéro, ça facilite le travail car y a pas mal de reserved qui doivent être à zéro/NULL
ZeroMemory(&lpStartUpInfo, sizeof(lpStartUpInfo));

// La taille de la structure
lpStartUpInfo.cb = sizeof(lpStartUpInfo);

// Pour utiliser un des membre, il faut le préciser dans les flags
lpStartUpInfo.dwFlags = STARTF_USEPOSITION | STARTF_USESHOWWINDOW;

// Position du bord haut gauche de la fenêtre
lpStartUpInfo.dwX = 300;
lpStartUpInfo.dwY = 300;

// Style
lpStartUpInfo.wShowWindow = SW_SHOWNORMAL;

Pour afficher l'appli dans une fenêtre bien précise, il doit y avoir moyen, mais je sais pas comment.



mardi 10 juillet 2007 à 12:55:20 | Re : Lancer une application

rt15

Membre Club Administrateur CodeS-SourceS
La msdn en parle ici.
(Y a pas que cette page bien sûr -> regarder l'arborescence à droite)

A ce que j'ai compris, y a pas moyen de faire du CreateProcess ou on sélectionne la fenêtre, mais les coodonnées d'ouverture de la fenêtre sont "unifiée". C'est comme si on avait un très grand écran quoi, et on peut spécifier dwX et dwY pour aller dans un screen précis. Pour connaitre les coordonnées d'une fenêtre dans un le grand rectangle, on peut utiliser les fonctions détaillées dans les références (cf mon lien plus haut). M'enfin dans ton cas, tu préfèrerat peut être les coder en dur (Ou dans un fichier ini...)


mardi 17 juillet 2007 à 13:51:36 | Re : Lancer une application

Scuz

Désolé pour le retard ! Merci rt15, j'ai reussi à lancer l'application Mais hélas, je n'ai pas trouvé le moyen de l'obligé à rester au premier plan. Bonne continuation


Cette discussion est classée dans : application, lancer


Répondre à ce message

Sujets en rapport avec ce message

Salut je voudrai savoir comment faire pour lancer une appl. en C/C++ [ par jarodx64 ] comment faire pour lancer une application en C/C++ sur : - Win32: j'ai commencer un programme et je voudrai lancer une application externe Win16/32 (m Lancer une application au démarrage d'une autre... [ par SonnyClouds ] Bonjour, et bravo pour le site, je le découvre ce soir ! Une idée me turlupine depuis un moment: Je voudrai pouvoir lancer une ou des applications ( Lancer une application .exe avec argument a partir d'une application cpp [ par ian_solo ] Bonjour,J'explique mon probleme, je cherche a ecrire sur un port // a partir d'une application en cpp, mais je ne trouve aucune commande permettant de Dynamic C (Lancer une application) [ par Cassador ] Salut tlm.J'ai un petit problème. j'aimerai lancer une application à partir d'un module que je dois programmer en dynamic C! je n'ai aucune idée de la comment lancer et fermer une application? [ par jetix ] Salut,c'est un programme fait en visual c++6.0, considérons un boite de dialogue contenant 2 boutons:l'un sert pour lancer l'apllication par exemple w lancer une application [ par pmloiu ] Je suis sur un projet en gtk et je souhaiterai lorsque je clic quel part que cela lance une application (ca peut être un .Txt ou n'importe) je veux ju Lancer startx puis une application [ par Zelazni ] Bonjour,je suis sous Ubuntu 8.10 et j'ai désinstaller gdm pour ne pas avoir de lancement de l'interface X.Je cherche ensuite à faire un script en bash lancer un exe en service depuis l'exe [ par vils74 ] Bonjour, J'ai un programme codé en Builder C++ 2009, que j'utilise grâce à l'executable généré. J'aimerais permettre aux utilisateurs de choisir depu Comment faire pour lancer un fichier ou une application [ par tayourt ] Bonjour, 'est un problème tout bête.. Je suis certain qu'on a déjà répondu à cette question, mais bizarrement, je cherche et je ne trouve pas.. Je tra [GTK+] lancer une application externe dans une fenêtre [ par lilivounet ] Bonjour,Mon projet : je voudrais un programme qui lise une video, et en même temps qui dessine au feutre par-dessus. Ce qui donnerait, par exemple, qu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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