Oczywiście, że da się zrobić to co chcesz w Delphi. Nazywa się to Trainer. I w googlach jest mnóstwo przykładów, rownież w Delphi, które można bardzo łatwo znaleźć, a które pokazują jak napisać trainer - jeżeli znamy konkretny adres. Można posłużyć się rownież programem "Cheat Engine" i dodatkowo metodą wyszukiwania Pointerów (wskaźników na adresy danych złota, energii, żyć czy czego tam chcesz w pamięci), która jest pokazana również na kilku filmikach do znalezienia na YT (polecam te zagraniczne, bo Polacy jak robią jakiś video tutorial to często na poziomie gówniarzerii ze jakiś tam spryciarzy.pl). Także minus ode mnie za totalne lenistwo i brak chęci poszukania tego w googlach samodzielnie. Na pocieszenie dorzucam exek (uwaga do użytkownika o inicjałach t.r - w rarze jest exek, mały, ale wiem że ci mama nie pozwala pobierać takich, więc nie rób tego) wraz ze źródlem w Delphi - wszystko pisane w WinAPI. Później jak napiszę, bo wcześniej nie miałem pojęcia o tym, że można tak wyszukiwać i zmieniać pointery robiąc trainer na zasadzie injekcji dllki do procesu z grą to też tutaj wrzucę. Wracając do mojego trainera. Jest on do starej dosowej gry Horde, ktorą można pobrać z: http://staregry.pl/?c=_gv&i=751 i należy ją uruchamiać pod emulatorem DosBox najpewniej na standardowej konfiguracji aby się nie ciął dźwięk i animacja. Sam DosBox do pobrania oczywiście z: http://www.dosbox.com a cały trainer działa banalnie, wyszukuje w pamięci procesu unikalnego ciągu bajtów, który można ustalić przez baczne przyglądanie się zawartości zdumpowanej do pliku pamięci i wyszukiwaniu charakterystycznych ciągów hexów w pobliżu adresów gdzie znajdują się wartości złota oraz energii dla konkretnej gry, a co pomaga ustalic właśnie Cheat Engine. Później do tego znalezionego adresu dodaje określoną stałymi ilość bajtów do przesunięcia, dzięki czemu zawsze trafi w przypadku gry Horde na właściwe dane. I jakby był problem z samą grą, to znaczy "cieła się" pod DosBoxem, to dołaczam też swój config. Należy sobie utworzyć katalog Horde, w nim katalog GAME i tam rozpakować grę, następnie w katalogu Horde utworzyć katalog DosBox, wrzucić tam najnowszego DosBoxa, bez pliku dosbox.conf jeżeli mamy go w katalogu, następnie wrzucić ten mój plik a.conf, do tego w Horde jakiś plik *.bat na przykład run.bat, do którego możesz zrobić skrót (jak coś ikonkę do skrótu możesz wziąć sobie z mojego trainera w pliku app_icon.ico). Wygląd przykładowego run.bat:
@echo off
cd DOSBOX
start dosbox.exe -conf a.conf
cd ..
Jeszcze słowo o trainerze, jak widać jest to zwykłe Read i Write ProcessMemory tylko, że trainej zrobiony w WinAPI aby exek do tak prostego zadania nie zajmował setki kb. Exek jest upxnięty, a okno dialogowe do zasobów przygotowałem w: http://www.oby.ro/rad_asm/resed/index.html i kod korzysta ze zoptymalizowanych modułów System oraz Windows do pobrania z http://kolmck.net/sys/SysDcu7.zip (tylko dla Delphi 7). A i poza tym jeżeli zadajesz takie bzdurne pytania jak "wysyłanie message do adresu w pamięci" to podejrzewam, że nie będziesz chciał się z ów kodu nic nauczyć, dlatego polecam Tobie raczej dowiedzieć się, że komunikaty śle się do okien, a nie do adresów pamięci, a dla Ciebie najprościej będzie zobaczyć w filmikach na YouTube jak używać Cheat Engine i najlepiej metodą z Pointerami i pod nim oszukiwać. Sorry za rozpiskę, a trainera miałem nie publikować, ale może komuś się przyda. Procka do wyszukiwania w pamięci działa w miarę szybko, bo operuje na pamięci, a konkretnie na jej fragmencie, nie zaś na jakimś dużym pliku na dysku. Oczywiśćie jej kod po przeróbkach znalazłem kiedyś na google i zaadoptowałem. Może komuś jeszcze poza pytającym się przyda ten kod trainera oraz konfiguracja DosBoxa dla tej konkretnie gry.
EDIT: a teraz widzę, że dopisałeś coś o wstrzykiwaniu, to zastanów się, czy chcesz robić Trainer z użyciem Read/Write ProcessMemory praz ewentualnym wyszukiwanem podobnych bajtów w celu ustalenia zmiennego adresu dla danych, czy chcesz wstrzykiwać dllkę, bo i to da się zrobić, a trzeba to robić w przypadku korzystania z Pointerów jako adresów ilości rzeczy w grze (jak życia czy złoto w przypadku Horde). Kod na wstrzyknięcie później moge napisać i wrzucić tutaj. Dodam tylko, że przydaje się tutaj moduł o nazwie afxcodehook.pas do wstrzykiwania dllki w proces. Samo ustawianie Pointerów również do znalezienia w google albo na video tutorialu na Youtube, w którym gościu w dużym przyśpieszeniu pokazuje jak pisze taką dllkę dla jednej gry, tylko że do wstrzykiwania używa jakiegoś badziewia, które w google można znaleźć na wielu stronach, ale ponoć zawirusowane, także temu narzędziu nie za bardzo ufam, wolę napisać swój kod z użyciem wspomnianego modułu, o którym też się dowiedziałem z google. Wystarczy tylko chcieć i wszystko można znaleźć, ale Tobie się pewnie nie chciało, bo po co - lepiej od razu smarować posta tutaj ;/