Requirements: Visual Studio/C++ 2008+
Step 1: Set up
Öffne dein Visual Studio, geh zu Datei -> Neu -> Win32-> Win32-Projekt
Benenne das Projekt, so wie du es möchtest.
Im Popup-Fenster geht ihr wie folgt vor:
Klicken Sie im ersten Fenster
Anwendungstyp (DLL)
Zusätzliche Optionen (leeres Projekt)
Du kannst dann auf "Fertig" klicken.
Step 2: File Creation
Nun müssen wir unsere erste CPP-Datei erstellen. Dies wird unsere Datei sein, wenn wir die DLL in das Spiel injecten.
Rechtsklick auf Ressourcendateien und wähle
Hinzufügen -> Neues Element-> C++ Datei (.cpp).
Nenne es für dieses Tutorial MainDLL.
Nun benötigen wir eine Form.
Rechtsklick auf Headerdateien. Hinzufügen -> Neues Element -> UI -> Windows Form.
Ich nenne es in diesen Fall einfach Form1 für dieses Tutorial. Klicken Sie auf OK
Dann wird das kommen:
Drücke auf "JA"
Dort müssten nun 2 neue Dateien sein. Form1.h und Form1.cpp.
Verschiebe Form1.cpp zu "Ressourcendateien". Sieht einfach schöner aus.
Das müsste dann so aussehen:
Fertig! Nun sind wir mit Step 2 auch durch. Gar nicht so schwer oder?
Step 3: Coding
Wir arbeiten uns von der Spitze der Lösung nur aus Gründen der Einfachheit. Du kannst diese in beliebiger Reihenfolge tun
oder sogar den Code ändern, um dein Trainer anzupassen.
Form1.h
Rechtsklick auf "Form1.h" -> "Code anzeigen".
Du fügst in der ersten Zeile, wirklich ganz oben, ein:
Code:
#include <windows.h>
Was #include tut, ist es die benötigten Dateien/Funktionen beinhaltet die Programmarbeit zu machen. gibt es 2 verschiedene enthält.
1. ist
#include <file.h> dieses enthält Dateien, die auf Ihrem System gefunden werden. für das Projekt extern
2. ist
#include "file.h" diese Dateien enthält, die innerhalb des Projekts zu finden sind
Sie können, indem Sie die Dateien Funktionen und Programme Eigenschaften teilen, wenn diese Funktionen zu finden sind.
Nun auch wieder schnell raus aus Form1.h
Form1.cpp
Klicke doppelt auf Form1.cpp um es zu öffnen.
Dort ist nur eine Zeile beschrieben. Ein Include. Dort drunter schreibst du hin:
Code:
using namespace PROJEKTNAME;
Code:
void Main(void)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew Form1); //ändere Form1 auf den Namen deiner Form
Application::Exit();
}
Das wars auch schon!
Nun schnell zur MainDLL.cpp
MainDLL.cpp
Doppelklick auf MainDLL.cpp
Füge dort ein:
Code:
#include <windows.h>
extern void Main(void);
::BOOL WINAPI DllWork(__in::HMODULE hModule)
{
Main();
return true;
}
::BOOL WINAPI DllMain(__in::HMODULE hModule, __in::DWORD dwReason, __in __reserved::LPVOID lpvReserved)
{
::HANDLE hThread = NULL;
if (dwReason == DLL_PROCESS_ATTACH)
{
if ((hThread = ::CreateThread(NULL, 0, (::LPTHREAD_START_ROUTINE)&DllWork, (::HMODULE)hModule, 0, NULL)) == NULL)
{
return FALSE;
}
if (::CloseHandle(hThread) == FALSE)
{
//do nothing
}
}
return TRUE;
}
Nun um die ganzen Fehler zu beheben.. Die dort angezeigt werden, ändere dein Projekt von Debug zu Release.
Nun noch abspeichern und Builden und dann ist dein Trainer fertig! Herzlichen Glückwunsch!
========== Erstellen: 1 erfolgreich, 0 fehlerhaft, 0 aktuell, 0 übersprungen ==========
Wenn du nun deine DLL injectest, müsste deine Form kommen.
Weitere Tutorials folgen! (Werden hier auch verlinkt!)
Bitte Danke geben und Feedback hinterlassen. Bei Fragen einfach in den Kommentaren stellen.






