Komunikacja dwóch instancji

Odpowiedz Nowy wątek
2015-02-03 13:31
0

Witam, piszę program konsolowy w VS2013 i chciałbym aby podczas uruchomienia drugiej instancji programu w prosty przekazać informację o tym pierwszej instancji (np. poprzez modyfikację wartości bool'a w pierwszej instancji). Czy istnieje na to jakiś prosty sposób? Nie mogę odnaleźć niczego konkretnego w Google. Dziękuję za pomoc.

Pozostało 580 znaków

2015-02-03 14:06
0

od trzymania stanów, o których mówisz są np. bazy danych, nie wiem jak chcesz, aby instancja klasy utworzona przez aplikację A dzieliła się ot tak danymi z instancją B

edit:
czy zapis do np. konkretnej komórki pamięci to rozwiązuje? nie wiem

edytowany 3x, ostatnio: gośćabc, 2015-02-03 14:14

Pozostało 580 znaków

2015-02-03 14:14
0

Chyba nie opisałem tematu zbyt dobrze: powiedzmy, że uruchamiam moją aplikację xyz.exe i ją ukrywam w systemie (ciągle działa). Jeżeli zapomnę, że takową aplikację uruchomiłem wcześniej to podczas próby uruchomienia kolejnej xyz.exe ta druga wysyłała informację do pierwszej, że została uruchomiona.

Pozostało 580 znaków

2015-02-03 14:18
0

patrz sobie w procesy w systemie i tyle, ja aby rozwiązać taki problem u klienta napisałem service, który updatuje stan procesów w systemie, i pulpit z którego klient może odpalić/restartnąć proces wyświetla dane o tym czy ten proces jest w systemie; używam do tego baz danych

Pozostało 580 znaków

2015-02-03 14:21
Rev

Użyj named mutexa (jeżeli wystarczy, że druga instancja dowie się, że nie jest pierwszą) / named pipe (jeżeli do tego potrzebujesz przekazać jakieś dane).


edytowany 1x, ostatnio: Rev, 2015-02-03 14:22
Pokaż pozostałe 4 komentarze
a jak chcesz inaczej chcesz poinformować, zielonego gościa przy komputerze, że dany proces jest już wlączony - gośćabc 2015-02-03 14:30
no właśnie named mutexem. uruchom sobie kilka popularnych programów (np. teamviewer, itunes, skype) i za pomocą programu winobj z sysinternals możesz zobaczyć, że robią to w ten sposób. - Rev 2015-02-03 14:37
ok rozumiem, że trzymasz się ciągle windowsa, masz rację, nie było pytania - gośćabc 2015-02-03 14:38
na linuksach robi się to zazwyczaj lock-plikami (w /var/lock) (ew. semaforami), też nie jakimiś bazami danych. wiem, że mam rację, mam nadzieję, że ty już wiesz, że jej nie masz :). - Rev 2015-02-03 14:42
masz rację ja się zagolopowałem z tą bazą danych, mam serwis, który sam sprawdza czy jest proces, a baza danych jest tylko dla usera, który pracuje na jakimś tam ui - gośćabc 2015-02-03 14:47

Pozostało 580 znaków

2015-02-03 14:24
1

http://stackoverflow.com/a/8799795/1387438
http://stackoverflow.com/q/10535313/1387438


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

2015-02-03 17:20
0

Dziękuję za pomoc. Mniej więcej o takie rozwiązanie mi chodziło. Pozdrawiam :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0