@lampasss: dziękuję za reakcję. Otóż przez wrapper dll (nie koniecznie do gry, może być do jakiegoś programu) rozumiem własną dllkę, która pod odpowiednią nazwą "udaje" jakąś charakterystycxną dla systemowej / DirectX'owej. To się o ile orientuje właśnie fachowo nazywa wrapper. Przykłady takie jak podałem. Choćby to: http://hifi.iki.fi/cnc-ddraw/ - autor wprawdzie nazywa to hackiem. Może to i hack.
Bardziej chodzi mi o rozwiązanie, polegające na tym, że nasza dllka ma odpowiednio eksportować odpowiednie funkcje tak przekierowane na te z oryginalnej dllki, żeby gra czy program ją akceptowała. Natomiast pozostały kod operował by na grze czy programie używającym dllki, ewentualnie na systemie. Tak aby poprawić zachowanie gry, poprawić pewne rzeczy lub udoskonalić. Chociaż mam tutaj na myśli proste modyfikacje okna gry czy jakiś ustawień kompatybilności. Chociaż jeśli moze @Azarien albo ktoś inny doświadczony w C++ pomógł by - o ile się da, stworzyć taką dllkę ddraw.dll, która działa jak ta do C&C. Jednak pod Delphi i to na zasadzie nie wstrzymywania procesu explorera, można się obejśc bez tworzenia okna dla gry z możliwością resize'u.
Przydało by się napisać coś, co umożliwia uniwersalne użycie w starszych grach DirectX tak aby kolory się nie psuły. Nieogarniam jednak za bardzo DX'a oraz interface'ów, ale jakby to wspólnymi siłami okiełznać. To można by później podzielić się kodem, a i przy okazji na ten temat też napisać artykuł. Póki co jednak chcę się skupić na prostych przykładach. Jak powinny wyglądać przekierowania na oryginalne funkcje API.
Pamiętać należy, że czasem możemy potrzebować "podczepić" się pod funkcję obsługi komunikatów jakiejś gry. Jak wiemy jednak dla obcego procesu jest to niemożliwe. Jedynie injekcja wchodzi w grę. A czasami z injekcją w niektóre procesy moze być problem. Injektor może być wykryty jako malware w używanym przez nas programie antywirusowym. Poza tym zdaży się proces 64 bitowy i problemy ze skuteczną injekcją. A tak wiele spraw może ułatwić taki wrapper. Czasem możemy sobie napisać nawet - nie wiem - symulujące ruchy ułatwienia czy prosty trainer z reakcją na klawisze bez przełączania się później na Cheat Engine.
EDIT: @Azarien: dziękuję za odpowiedź. Z tym, że właśnie skoro robiłeś rekonesans. A masz łeb do C++. To może wspólnymi siłami dało by się napisać uniwersalny wrapper w Delphi. Lub samemu może nawet byś to zrobił w C++. Ważna tylko poprawność działania. Właśnie o ile da się napisać uniwersalne rozwiązanie dla wielu gier. Testować by to można było nie wiem na jakichś polskich przygodówkach jak "Wacki" czy "Książe i Tchórz". Albo na zagranicznym "Heart of Darkness". Tak na szybko te tytuły przyszły mi do głowy. A sam stwierdziłeś, pewnie słusznie, że suspendowanie wątku explorera jest mało eleganckie. Czasem też może się zdarzyć, że po zamknięciu gry jest on nadal wstrzymany i zachodzą problemy dla szarego usera. A może chodzi właśnie żeby ogarnąć tylko ten przedostatni podpunkt, który wymieniłeś. Tylko czy da się dla większości starszych gier z "problemem kolorów"?