Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008
-
14 mai 2003 à 18:17
cs_isnotgood
Messages postés15Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention13 octobre 2004
-
15 mai 2003 à 15:53
Salut les gens!
Comment savoir en VisualC++ si un programme quelconque est actif?Où plutot s'il a été lancé ou non(sous Windows 2000pro de préférence)?Cela me permettra simplement de lancer un exe s'il ne l'est pas déjà (éviter ainsi l'exécution du meme programme plusieurs fois de suites).
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 mai 2003 à 18:30
Un tas de techniques disponibles, depend de ce que tu veux.
Empecher 2 instances d'1 prog pour tout le systeme ou empecher le meme exe de demarrer 2 fois ?
Le prog peut etre copie dans plusieurs dossiers.
Si le meme prog physique tu peux faire un truc:
#pragma data_seg("Shared")
HWND g_hPrev = 0;
#pragma data_seg()
#pragma comment(linker, "/section:Shared,rws")
c'est le + simple.
Si est pour tout le systeme, tu crees un objet du noyau alertable ou tu reserves 4 octets en FileMapping dans le fichier d'echange, tu initialises au 1er lancement, si deja fait coupure immediate.
BruNews, ciao...
Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008 14 mai 2003 à 18:59
-------------------------------
Réponse au message :
-------------------------------
> Un tas de techniques disponibles, depend de ce que tu veux.
> Empecher 2 instances d'1 prog pour tout le systeme ou empecher le meme exe de demarrer 2 fois ?
> Le prog peut etre copie dans plusieurs dossiers.
> Si le meme prog physique tu peux faire un truc:
> #pragma data_seg("Shared")
> HWND g_hPrev = 0;
> #pragma data_seg()
> #pragma comment(linker, "/section:Shared,rws")
> c'est le + simple.
> Si est pour tout le systeme, tu crees un objet du noyau alertable ou tu reserves 4 octets en FileMapping dans le fichier d'echange, tu initialises au 1er lancement, si deja fait coupure immediate.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut les gens!
> >
> > Comment savoir en VisualC++ si un programme quelconque est actif?Où plutot s'il a été lancé ou non(sous Windows 2000pro de préférence)?Cela me permettra simplement de lancer un exe s'il ne l'est pas déjà (éviter ainsi l'exécution du meme programme plusieurs fois de suites).
> >
> > Voila,A+
>
J'ai pas tout capté ce que tu m'as mis...je voudrais seulement faire un test pour savoir si un programme quelconque genre démineur est en train d'etre exécuter et sinon faire un "systeme("demineur.exe"); " Vois-tu ce que je veux dire??(si ca se trouve c moi qui n'est rien compris à ta réponse, ds ce cas soit plus clair stp car je ne suis pas tres fort)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 mai 2003 à 19:05
Je parlais prog win32.
systeme("demineur.exe"); ce genre de machin peu pour moi.
Si c'est pas un prog a toi dont tu cherches une instance en memoire, alors FindWindow().
BruNews, ciao...
Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008 14 mai 2003 à 19:12
-------------------------------
Réponse au message :
-------------------------------
> Je parlais prog win32.
> systeme("demineur.exe"); ce genre de machin peu pour moi.
> Si c'est pas un prog a toi dont tu cherches une instance en memoire, alors FindWindow().
> BruNews, ciao...
>
> Faut pas te vexer, je fais pas de prog Win32 en ce moment et FindWindow() ne marche pas comme je veux car si la fenetre est en "totale" réduction ds la barre des tâches en forme d'icone "en bas à droite" de l'écran, ca marche aussi?J'ai pas eu le temps encore d'essayer mais si tu penses à autre chose dis-le moi stp :-)
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008 14 mai 2003 à 19:22
-------------------------------
Réponse au message :
-------------------------------
> FindWindow() fonctionne quel que soit l'etat de la fenetre.
> C'est a toi ensuite de demander a la fenetre comment elle est.
> BruNews, ciao...
>
>
OK merci bien! C Cool, A+
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 mai 2003 à 19:35
C'est viable egalement mais beaucoup plus lourd. Cela fait charger une dll, augmente la taille de ton prog.
Vaut toujours mieux aller au + court.
BruNews, ciao...
Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008 14 mai 2003 à 19:36
-------------------------------
Réponse au message :
-------------------------------
> sinon, tu peux regarder si le processus est ouvert. Cette source a adapter t'aidera surement : http://www.cppfrance.com/article.aspx?ID=941 > BruNews, qu'en penses tu?
>
>
Merci je vais voir ca...:-)
Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008 14 mai 2003 à 19:48
-------------------------------
Réponse au message :
-------------------------------
> C'est viable egalement mais beaucoup plus lourd. Cela fait charger une dll, augmente la taille de ton prog.
> Vaut toujours mieux aller au + court.
> BruNews, ciao...
>
C'est vrai!
D'ailleur comment tu trouve la Classe d'une fenetre que tu connais pas?car avec FindWindow() il me faudrait la classe et le nom de la fenetre.Sachant que la derniere fois que je l'ai utilisé juste avec le nom de la fenetre ca ne fonctionnait pas...:-( peut-etr m'y sui mal pris...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 mai 2003 à 20:02
NON, FindWindow() va avec classe OU titre et fonctionne tres bien. Quelle que soit la methode faudra bien avoir un de ces elements pour faire une recherche.
BruNews, ciao...
Benwillis
Messages postés28Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention21 novembre 2008 14 mai 2003 à 20:14
-------------------------------
Réponse au message :
-------------------------------
> NON, FindWindow() va avec classe OU titre et fonctionne tres bien. Quelle que soit la methode faudra bien avoir un de ces elements pour faire une recherche.
> BruNews, ciao...
>
Mais pour trouver la classe?(par simple curiosité..)