Witam,
czy mozna byloby jakos 'programistycznie' zlaczyc obydwa pliki ze sobą?
Zeby jeden program .exe zaladowal drugiego do zasobow badz w jakis inny sposob/
Pozdrawiam
Jeżeli chodzi o system Windows, to poczytaj o obsłudze DLL. Ten drugi program powinien być skompilowany jako biblioteka DLL, przez co ten pierwszy program jest w stanie uruchomić metodę znajdującą się w tym drugim programie.
No tak,ale wtedy .dll musi byc tam gdzie i .exe , a wlasnie o to chodzi, zeby do tego .exe tak jakby dodac ten pliczek, nawet .dll (zaladowac).
dodać do zasobów możesz co komu dusza zapragnie tylko jest pytanie po co chcesz to zrobić a wtedy się pomyśli czy uzasadnione jest to aby jeden program posiadał w zasobach drugi program?
Pewnie uzasadnienia się domyslam. Ma to być coś delikatnie pisząc, nie do końca korzystnego z punktu widzenia końcowego użytkownika. Kod na dodawanie zasobów, wprawdzie do dodawania stringów, ale zawsze dostałeś już kiedyś @Kask ode mnie. Zawsze możesz to przerobić, chociaż nic nie stoi na przeszkodzie any zmienić jeden z parametrów użytych funkcji z RT_STRING na RT_RCDATA, a ustawiając rozmiar stringa przez SetLength
na rozmiar pliku możesz wczytać nawet jego zawartośc, ktora zawiera znaki typu #0
. Zobacz jak wygląda funkcja ReadTextFromFile
z modułu useful_winapi.pas
. Natomiast wywołanie jednego programu z zasobów drugiego jest możliwe i są na to prxykładowe kody do znalezienia w google. Wystarczy poszukać. Jednak większośc takich kodów slużyły twórcą jako częśc ich malware, przez co większość antywirusów je wykrywa i blokuje.
Olesio jak zawsze - mroczne podejrzenia co do zamiarów pytającego, ale i tak zawsze pomoże :p
Olesio ma nie tylko 'tajemnicze podejrzenia', ale i swoj wklad w powyzszy proces... :)
Kask napisał(a):
Witam,
czy mozna byloby jakos 'programistycznie' zlaczyc obydwa pliki ze sobą?
Zeby jeden program .exe zaladowal drugiego do zasobow badz w jakis inny sposob/
Pozdrawiam
Tak można.
Ta procedura nazywa się Bindowanie. Pewnie chcesz być super Hackierem, to sobie znajdziesz w necie jak to działa.