Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pomoc DllMain
#1
Jak poprawnie dodać       Kod:          CreateThread (0, 0, MyThread, 0, 0, 0); CreateThread (0, 0, g_Hacks, 0, 0, 0);   Do       Kod:   bool WINAPI DllMain (HMODULE hDll, DWORD dwReason, PVOID pvReserved) {if (dwReason == DLL_PROCESS_ATTACH) {DisableThreadLibraryCalls (hDll); GetModuleFileName (hDll, dlldir, 512); dla (int i = strlen (dlldir); i> 0; i -) {if (dlldir [i] == '\\') {dlldir [i + 1] = 0; złamać ; }} ofile. open (GetDirectoryFile ("ttnlog.txt"), ios :: app); add_log ("\ n --------------------- \ nTatniumD3D Uruchomiono ... \ n ---------------- ----- "); HMODULE hMod = LoadLibrary ("d3d9.dll"); oDirect3DCreate9 = (tDirect3DCreate9) DetourFunc ((BYTE *) GetProcAddress (hMod, "Direct3DCreate9"), (BYTE *) hkDirect3DCreate9, 5); return true; } Else if (dwReason == DLL_PROCESS_DETACH) {add_log ("--------------------- \ nTatniumD3D Exiting ... \ n -------- ------------- \ n "); if (ofile) {ofile. blisko (); }} Return false; }   Bez błądzenia?   Doceniam pomoc.
Reply
#2
Opublikuj te błędy, proszę.
Reply
#3
Upewnij się, że wszystkie wymagane pliki cpp zostały dodane do projektu, a błędy linkera wydają się być spowodowane brakiem cpp. Dodaj swój createthreads pod instrukcją if (DLL_PROCESS_ATTACH). Raiders
Reply
#4
Zacytować: Wysłane przez pierwotnie najeźdźców Upewnij się, że wszystkie wymagane pliki cpp zostały dodane do projektu, a błędy linkera wydają się być spowodowane brakiem cpp. Dodaj swój createthreads pod instrukcją if (DLL_PROCESS_ATTACH). Raiders Ja to zrobiłem..
Reply
#5
Zacytować: Napisał pierwotnie zackth17 Ja to zrobiłem.. Wygląda na to, że brakuje Ci d3d9.lib i prawdopodobnie d3d9x.lib (w zależności, czy korzystasz z niego), jeśli używasz D3D9 w swoim projekcie. W przeciwnym razie zamień 9 na wersję D3D, której używasz. Dodaj #pragma comment (lib, "d3d9.lib") #pragma comment (lib, "d3dx9.lib") powyżej DllMainm powiedzą kompilatorowi, żeby dodał te biblioteki do swojego rozwiązania LUB Znajdź ustawienia kompilatora i dołącz je za pomocą opcji kompilatora. Nie stanowi to problemu z metodą DllMain, ale z ustawieniami kompilatora. * Edytować * Po sprawdzeniu błędów kompilatora używasz D3D9 i prawdopodobnie D3DX9. Powyższe instrukcje powinny działać. Prawdopodobnie użyłeś D3DX9, jeśli załadowałeś pliki graficzne na powierzchnie.
Reply
#6
Zacytować: Wysłany przez pierwotnie AndrewThomas Wygląda na to, że brakuje Ci d3d9.lib i prawdopodobnie d3d9x.lib (w zależności, czy korzystasz z niego), jeśli używasz D3D9 w swoim projekcie. W przeciwnym razie zamień 9 na wersję D3D, której używasz. Dodaj #pragma comment (lib, "d3d9.lib") #pragma comment (lib, "d3dx9.lib") powyżej DllMainm powiedzą kompilatorowi, żeby dodał te biblioteki do swojego rozwiązania LUB Znajdź ustawienia kompilatora i dołącz je za pomocą opcji kompilatora. * Edytować * Po sprawdzeniu błędów kompilatora używasz D3D9 i prawdopodobnie D3DX9. Powyższe instrukcje powinny działać. Prawdopodobnie użyłeś D3DX9, jeśli załadowałeś pliki graficzne na powierzchnie. Mam już te na mojej liście definicji.
Reply
#7
Zacytować: Napisał pierwotnie zackth17 Mam już te na mojej liście definicji. Prawdopodobnie mylicie pliki Starterkit z rzeczywistymi plikami SDK DirectX. Niektóre pliki projektu mają tę samą nazwę. Upewnij się, że masz zainstalowany pakiet DirectX Software Development Kit, a pliki są połączone w IDE (Micorosft C ++, Microsoft Express itd. W zależności od tego, czego używasz do kompilacji projektu Starterkit).
Reply
#8
Rover, byłbym bardzo wdzięczny, gdybyś dodał mój e-mail, ponieważ te błędy naprawdę mnie denerwują, być może możesz mi pomóc w pracy zespołowej i pomóc z większą łatwością.
Reply
#9
Nie sądzę, że prywatna pomoc jest dozwolona na tych forach. Chcemy, aby wszyscy członkowie, którzy napotykają ten problem, mogli przeczytać ten wątek i rozwiązać problem.
Reply
#10
Tak, ale to się nie udaje.
Reply




Users browsing this thread: 1 Guest(s)