begin process at 2012 05 29 04:04:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

instance unique d'une application


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

instance unique d'une application

vendredi 9 avril 2004 à 02:05:52 | instance unique d'une application

gadafla

J'aimerais qu'en ouvrant autant de documents que je veux, ils aillent tous s'ouvrir sur une seule instance de mon programme, qui lui est multi-fenetres.

- je suis avec les MFC
- ma classe principale est derivee de CWinApp

Comment dois-je gerer cela ?

Merci d'avance.
vendredi 9 avril 2004 à 08:39:36 | Re : instance unique d'une application

G0ss3Yn

Salut !
Je ne sais pas trop comment tu pourrais gérer celà mais j'ai une petite idée :
Lorsque tu ouvre un document, sensé s'ouvrir avec ton application, une instance de celle ci est lancé. Or ci au début de ton app tu vérifie si il y a une autre instance déjà lancée ( Avec FindWindow par exemple ), ensuite tu peux envoyer un message ( SendMessage ) à ton app déjà lancé, contenant le chemin d'accés du fichier à ouvrir....
Tu peux enregistrer un message perso avec RegisterMessage....

Voilà, le problème c'est que je ne sais pas si ça fonctionne correctement avec les MFCs .....
J'espère t'avoir aidé ! @+

G0ss3Yn... ( Bon coding a tous !)
vendredi 16 avril 2004 à 11:01:09 | Re : instance unique d'une application

gadafla

Merci pour le tuyau, je pensais que cela fonctionnerait, mais en MFC, impossible de specifier notre propre type de classes, pour la chercher apres avec FindWindow.

Mais jaimerai savoir, comment faire pour parcourir TOUTES les fenetres presentes dans windows ? Avec ceci, je pourrai trouver celle ki a un certain titre et lui envoyer un message.
lundi 3 mai 2004 à 15:57:58 | Re : instance unique d'une application

G0ss3Yn

Ok, y'a un moyen de récupérer le nom de la classe quand même si t'as coché l'architecture document/view :

Dans CxxxDoc tu rajoute une fonction :

void CTest2Doc::AfficheClassName(HWND hWnd)
{
char ClassName[ 256 ] ;
GetClassName( hWnd, ClassName, 256 ) ;

MessageBox( NULL, ClassName, "Nom de la classe", MB_OK ) ;
}

Et dans CxxxView :

void CTest2View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

GetDocument()->AfficheClassName( m_hWnd ) ;
CView::OnLButtonUp(nFlags, point);
}

Comme ça tu click et tu récupère le nom de la classe de la fenêtre...
Voilà !
Par contre je ne sais pas comment parcourir toutes les fenêtre actives... :(

G0ss3Yn... ( Bon coding a tous !)


Cette discussion est classée dans : application, instance, unique


Répondre à ce message

Sujets en rapport avec ce message

Instance unique [ par Ombitious_Developper ] Salut:Comment peut on faire pourque une application Windows ait une seule et une unique instance si on essaye de lancer d'autres instances de cette ap Ouverture de plusieurs fichiers dans la meme instance d'un application [ par otofraise ] Boujour a tous,J'ai fait l'association entre un type de document et une application que j'ai developpee.Si je double-clique sur un fichier de ce type, instance unique simple, tres simple svp [ par Sebopop2 ] Bonjour,je fais un petit prog perso dans la barre des taches qui fait un ou deux trucs et jevoudrais un moyen tres tres simple de ne lancer qu'une seu [MFC Visual 6] timer, debug assertion et autres questions [ par vladii ] J'ai quelques questions sur les MFC avec Visual 6, si quelqu'un peut m'aider, ça serait sympa: (projet en sdi) - je voudrais qu'au départ de mon appl KRNL386.exe et IE7 [ par tex35 ] Bonjour,je suis responsable d'une application développé en C++ borland 4.5 compilé en 16 bits.Cette application tourne toujours sous windows XP sp2 ma Application lanceur programmes [ par aurelien2723 ] Salut!Je voudrais réaliser un programme qui permet d'appeler un exécutable à une période définie.Il faut donc que mon programme n'attende pas la fin d Timer - gestion du temps [ par aurelien2723 ] Salut!Je fais une application graphique qui va appeler différents programmes à intervalles différents, et réglables.J'aimerais savoir comment décompté Développer une base de données [ par kayamel ] Je cherche des orientations sur le développement d'une base de données. C'est pour utiliser en interne à une application.Je précise bien "développer u fermer une fenêtre DOS dans une appli Windows [ par munaron ] Bonjour à tous;Voilà je suis confronté à un problème. J'utilise une application MFC, dans cette application, j'affiche en option une fenêtre DOS.  L'a Accès à une instance [ par Mycado ] Salutations,J'ai mon main, et deux classes (classA et classB). Je crée une instance de classA nommée cal dans mon main.Mon problème est, que j'aimerai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,328 sec (4)

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