Mam aplikację, która używa połączenia przez gniazdo do wysyłania i odbierania danych z innej aplikacji. Podczas tworzenia gniazda używa portu 4998.Jak uruchomić tylko jedną instancję aplikacji
Na tym polega mój problem. Po uruchomieniu aplikacji gniazdo zaczyna korzystać z portu 4998. Jeśli chcę ponownie uruchomić aplikację, otrzymam błąd powiązania z gniazdem.
Dlatego chcę ograniczyć instancję aplikacji do jednego. Oznacza to, że jeśli aplikacja jest już uruchomiona i ktoś próbuje uruchomić aplikację ponownie, klikając ikonę exe lub skrót, nie powinien uruchamiać programu, zamiast tego powinien przenieść istniejącą aplikację na górę.
Najpierw wywołując OpenMutex(), masz stan wyścigu. Najpierw wywołaj CreateMutex/Ex(). Powie Ci, czy muteks już istnieje. Wywołaj OpenMutex() tylko wtedy, gdy CreateMutex() zawiedzie z błędem ERROR_ACCESS_DENIED. –
Jakieś wskazówki, jak zrobić to na Win7 +? Globalne \ x muteksy nie widzą się z różnych sesji logowania użytkownika ... –
@ RomanPlášil tak naprawdę to zrobiliście, musieliście zrobić coś złego – paulm