Witam!

Pracuje nad aplikacja w Qt4 i chce zorganizowac obsluge limitu jednej instancji programu i otwieranie wielu zaznaczonych i skojarzonych plikow z aplikacja przez ta wlasnie instancje. Na starcie tworze sobie mutexa (CreateMutex) i sprawdzam czy aplikacja zostala juz uruchomiona. Jesli nie - tworze nowy watek (QThread), w ktorym nasluchuje na komunikaty (przez GetMessage), a ID tego watku zapisuje do segmentu w pamiedzi wspoldzielonej (CreateFileMapping, itd...). Natomiast jesli mutex istnieje - aplikacja powinna przeslac tylko parametr do instancji "serwera" i zakończyć działanie. W tym celu w pamieci wspoldzielonej tworze sobie segment o unikalnym kluczu (generowanym na podstawie id procesu "klienta"), zapisuje tam sciezke do pliku, ktory ma byc otwarty przez uruchomiona instancje programu, czytam ID wątku "serwera" i przez PostThreadMessage wysylam mu wiadomosc, gdzie jako wParam przekazuje PID, aby serwer mogl wygenerowac sobie klucz do segmentu w pamieci wspoldzielonej.
Wszystko dziala ok, ale tylko dla jednego pliku. Gdy zaznacze kilka plikow w explorerze, wtedy zostanie odpalone kilka aplikacji-klientow naraz i wowczas "serwer" odbiera tylko pierwszy komunikat. Gdy podgladam logi, widac ze aplikacje-klienty poprawnie wysylaja (PostThreadMessage) komunikaty, ale watek serwera ma jakies problemy z odczytaniem tego. Zupelnie tak, jakby komunikaty do niego nie dochodzily. Probowalem z PeekMessage, jednak to nie pomagalo. Czyzby komunikaty przesylane do oddzielnego watku byly gdzies po drodze gubione? A moze przechwytywane przez inna procedure obslugi komunikatow, ktora tworzy sobie Qt wewatrz? Nie mam juz pomyslu jak to rozgryźć.
Pomozcie :)
Pozdrawiam