j'avais un probl�me : mon programme se lan�ait plusieurs fois lorsque l'on s�lectionnait plusieurs fichiers dans l'explorateur et qu'on appuyait sur "Entr�e".
Ca c'est r�solu.
MAIS
j'aimerai que les autres instances du programme, avant de se fermer, envoient leurs param�tres au programme d�j� lanc�.
J'ai donc mis en place un petit message : WM_ADDFILE
en me disant que je pourrais mettre en wParam un pointeur sur la chaine de param�tres.
non.
�a ne fonctionne pas.
Pour voir j'ai essay� de passer juste un pointeur sur un entier, �a donne �a :
dans le WinMain :
et dans la m�thode OnMessage d'un TApplicationEvents:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 #define WM_ADDFILE (WM_USER + 2005) ... int* pMsg; pMsg = new int; AnsiString s = (int)pMsg; //on affiche l'adresse pointée MessageBox(NULL, s.c_str(), "toto", MB_OK); PostMessage(hPreviousInstance, WM_ADDFILE, (WPARAM)pMsg, NULL);
la valeur de wParam correspond bien � l'adresse point�e pas pMsg mais
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 if (Msg.message == WM_ADDFILE) { if (*( (int*)Msg.wParam ) == 24) MessageBox(NULL, "message24", "titi", MB_OK); else MessageBox(NULL, "echec24", "titi", MB_OK); delete (int*)Msg.wParam; Handled = true; }vaut "????"
Code : S�lectionner tout - Visualiser dans une fen�tre � part *( (int*)Msg.wParam )
euh... pourquoi ?
quelle autres solutions pour passer les param�tres du programme au programme d�j� pr�sent ?
[Mod�ration, Alacazam : Pri�re d'utiliser un langage correct, merci]
Partager