Witam,
mój programik, zgodnie z założeniam, nie uruchamia się w dwóch instancjach. Musi natomiast, gdy ktoś bedzie chciał uruchomic go "po raz drugi" przekzazać parametr (z którym został uruchomiony) do pierwszej swojej instancji...
Realizuję to za pomocą komunikatu np.:
#define WM_MEET (WM_APP + 23)
...i gdy to uruchomienie po raz drugi nastepuje, odnajduję uchwyt okna pierwszej instancji (FindWindow) i wysyłam komunikat:
SendMessage(hwnd, WM_MEET,(unsigned int) parametr,0); //paramter to char[MAX_PATH]
i nic się nie dzieje :| Komunikat przechwytuję tak:
w private:
MESSAGE void __fastcall WMMEET(TMessage &Message);
i cialo funkcji:
MESSAGE void __fastcall TForm1::WMMEET(TMessage &Message)
{
//TForm1::Dispatch( (void*)&Message );
if (Message.Msg == WM_MEET)
{
char *s = (char *) (Message.WParam);
ShowMessage(s);
}
}
Jestem pewien, że uchwyt okna jest znajdowany poprawnie i to tyle, co do czego jestem pewien - zwykle piszę w delphi i nie mam większego doświadczenia w C++. W czym problem?