Accueil > Forum > > > > Lancer une application
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
|
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
|
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
|
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
|
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
|
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
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|