Jojo333 |
Le 24/09/2007 à 00:55 |
|
|
Bonjour a tous.  J'aimerais savoir si il y a possibilité de lancer une application sans être obligé de la quitter pour que mon programme se termine? Je pense avoir trouvé quelques pistes comme CreateProcess par exemple,mais je ne comprend pas trop les explications données (j'ai cherché sur plusieurs forum avant de m'inscrire sur celui-ci !!!). Si quelqu'un connait une solution a mon problème et peut me donner une explication claire, je le remercie d'avance pour sa réponse. Cordialement. |
Chatbour |
Le 24/09/2007 à 02:17 |
|

|
Jojo333 a écrit :J'aimerais savoir si il y a possibilité de lancer une application sans être obligé de la quitter pour que mon programme se termine? un script batch peut aider : start Chemin_de_Votre_ApplicationCordialement.. |
Jojo333 |
Le 24/09/2007 à 22:07 |
|
|
Merci, je ne sais pas si c'est ce dont vous vouliez parler mais avec la commande system("start chemin_de_l'application"); ça fonctionne,pas besoin d'utiliser un fichier .bat . Merci mon programme continue de tourner. En revanche il faut que je trouve une astuce pour que l'application s'affiche en arriere-plan et non devant mon programme. En tout cas vous m'avez vraiment baucoup aidé, MERCI. |
Anthony |
Le 25/09/2007 à 13:47 |
|
 Admin |
Salut  Sous linux un & (esperluette) te permet de revenir à la console pendant que ton programme tourne, mais sous windows je ne sais pas, peut-être est-ce identique :) -- 
|
Jojo333 |
Le 25/09/2007 à 15:41 |
|
|
A priori ça ne marche pas même en essayant plusieurs syntaxes. A mon avis il faudrait utiliser une fonction telle que BringWindowToTop ou quelquechose avec form mais je ne trouve pas d'informations sur les parametres de ces fonctions ni comment les déclarer (oui ça parrait un peu bête mais je débute en C et je prefere me donner des challenges plutot que d'apprendre des dizaines de pages par coeur). Voilà, si vous pouvez m'aider merci d'avance. |
Jojo333 |
Le 27/09/2007 à 16:46 |
|
|
J'ai trouvé,voici un code type que j'ai créer et commenter #include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main(void)
{
DWORD foregroundThreadID = GetWindowThreadProcessId(GetForegroundWindow(), 0);/*ID du thread au premier plan*/
DWORD ourThreadID = GetCurrentThreadId(); /*ID de notre thread (thread de l'application)*/
HWND wnd = GetForegroundWindow();/*cherche le nom du handle et le declare*/
printf("je lance le bloc note");
system("start c:\\windows\\system32\\notepad.exe");
sleep(1500); /*laisse le temps a l'application pour se lancer correctement*/
AttachThreadInput(foregroundThreadID, ourThreadID, TRUE); /*on attache le thread de notre application sur
le thread de l'application qui est au premier plan*/
SetForegroundWindow(wnd); /*maitenant on peut faire passer notre fenêtre au premier plan*/
AttachThreadInput(foregroundThreadID, ourThreadID, FALSE); /*on détache le thread*/
printf("le bloc note a bien ete lance/n");
system("pause");
} TOPIC RESOLU  Merci à tous |