lancement de plusieurs applications
Hors ligneJojo333 Le 24/09/2007 à 00:55 Profil de Jojo333 Configuration de Jojo333

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.
Hors ligneChatbour Le 24/09/2007 à 02:17 Profil de Chatbour Configuration de Chatbour

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_Application

Cordialement..
Hors ligneJojo333 Le 24/09/2007 à 22:07 Profil de Jojo333 Configuration de Jojo333

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.
Hors ligneAnthony Le 25/09/2007 à 13:47 Profil de Anthony Configuration de Anthony

Fou du volant
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 :)
--

Hors ligneJojo333 Le 25/09/2007 à 15:41 Profil de Jojo333 Configuration de Jojo333

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.
Hors ligneJojo333 Le 27/09/2007 à 16:46 Profil de Jojo333 Configuration de Jojo333

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
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels