Oczyt/Zmiana wartosci zmiennej miedzy procesami

0

Witam. Uruchamiam jakies dwie proste aplikacje napisane w delphi, czyli uruchamiaja mi sie dwa procesy. Jedna aplikacja/proces ma zmienna o jakiejs wartosci. Czy i w jaki sposob moge w drugiej aplikacji/procesie odczytac lub zmienic wartosc wspomnianej zmiennej z pierwszej aplikacji ?
Pozdrawiam.

0

OpenProcess i ReadProcessMemory oraz WriteProcessMemory.

0

Dzieki za szybka odowiedz.
A jak pobrac/znalezc adres zmiennej na ktorej bede wykonywal jakies operacje ?

0

Znacznie prościej jest skorzystać z memory mapped files.

0

Opisz dokładnie do czego chcesz tego używać, bo w zależności od zastosowania Read/WriteProcessMemory może być albo dobrym albo bardzo złym sposobem...

0

Ja chce to uzyc do sterowania procesem tzn cos sie w nim wykonuje a ja to cos albo puszczam albo zatrzymuje. Zmienna bylaby jakiegokolwiek typu a w procesie ktory ja tworzy bylby watek ktory przez caly czas kontrolowalby jej stan. Znalazlem info odnosnie OpenProcess, ReadProcessMemory oraz WriteProcessMemory ale nie wiem jeszcze jak znalezc adres zmiennej.

TBSO a moglbys rozwinac troche temat odnosnie "memory mapped files" bo z tym rozwiazaniem jeszcze sie nie spotkalem.

0

ten temat pada regularnie co kilka tygodni. zapoznaj się z pojęciem IPC: semafory, muteksy, pamięć dzielona, eventy, komunikaty, gniazda, czekanie na zdarzenie (waitforsingleobject/waitformultipleobjects) na upartego i mailsloty. najprościej na komunikatach, najbardziej przenośnie i dość prosto na gniazdach.

0

Jeśli się nie zetknąłeś - to po prostu zaprzęgnij do roboty Googla, ja akurat mam książkę (prawdziwą, więc nie podeślę) Teixeiry & Pacheco "Delphi - Vademecum profesjonalisty". Zapewniam Cię, że to jeden z wygodniejszych sposobów na wymianę danych między aplikacjami - drugim mi znanym jest puszczanie przez jedną z aplikacji message, odbieranych przez drugą.

Po zastanowieniu - w Twoim przypadku zastanowiłbym się nad tą drugą techniką, gdyż upraszacza (chyba!) sterowanie: nie musisz tworzyć wątku śledzącego stan pliku tylko hook, który w momencie przyjścia odpowiedniej wiadomości odpala konkretną procedurę.

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