SRC Dll Files

Indította Xeron, 2018-04-23, 15:03:29

Sziasztok!

Mivel ilyen témát nem sok helyen találni ezért gondoltam rá kérdezek!

Valaki tud e valamilyen megoldást kliens forrásban arra hogy a .dll kiterjesztésü fájlokat már elérésről olvassa a játék. Azaz ha azt szeretném hogy a lib mappábol olvassa akkor azt hogy tudom át írni?

A válaszokat előre is köszönöm!
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Igazából alapból a program mellől és a rendszerkönyvtárakban keresi. Adj hozzá egy új elérést a PATH környezeti változóhoz és ott is meg fogja nézni, hogy megtalálható-e.

C++ programmer at Gameloft

Forrásban akkor mire keressek rá? Ha nem baj ha vissza kérdezek.
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Ez nem olyan, hogy rákeresel és átírod a forrásban.
Környezeti változók
Mivel a betöltéskor és nem futás közben kéri azokat a dll-eket, így nem igazán tudod a kódban meghatározni, hogy honnan olvassa. Ott egy wikipédia oldal, hogy mik azok a környezeti változók. Azt csináld meg, hogy a könyvtár, ahonnan szeretnéd olvasni a dll-eket, szerepeljen a PATH változóban.

C++ programmer at Gameloft

2018-04-24, 15:11:52 #4 Utolsó szerkesztés: 2018-04-24, 17:15:04 Szerző: [VIP]Xeron
Ah ez jutott volna az eszembe legutoljára. Nehéz vissza rázódni. Köszi a segítséget ment a +.  8)

Üzenet összefésülés: 2018-04-24, 17:15:04




Így is meg teszi!
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

2018-04-24, 19:08:45 #5 Utolsó szerkesztés: 2018-04-24, 19:17:04 Szerző: Distraught
A patcherbe programozd bele, hogy beleírja a DLL-ek mappáját a PATH-be. A legtöbben Sanchez patcherét használjátok - ugye C#-ban van megírva -, szóval itt egy megoldás hozzá:

string dllmappa = "C:\teljes\elérési\út\a\kívánt\mappához";
if(!System.Environment.GetEnvironmentVariable("PATH").Conatins(dllmappa))
System.Environment.SetEnvironmentVariable("PATH",dllmappa + ";" + System.Environment.GetEnvironmentVariable("PATH"), EnvironmentVariableTarget.Machine);


Ha le akarod kérdezni a jelenlegi mappát, akkor System.IO.Path.GetDirectoryName(Application.ExecutablePath); C#-ban.

C++ programmer at Gameloft

Az rohadt jó ötlet. Ezt szerintem be is üzemelem.
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"