Die DLL muss sich in einem durch PATH (Umgebungsvariable) spezifizierten Verzeichnis oder im Programmverzeichnis befinden!Nun der Code dazu:
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <windows.h> // Dateien includieren
#include <stdio.h>
#include <stdlib.h>
typedef void (*MD5) (char*,char*);
int main()
{
MD5 md5; // Behälter für die DLL-Funktion
HINSTANCE hLib; // Hinstance für die DLL
char name[MAX_PATH+MAXFILENAME+5]; // Name der Datei
char md5sum[32]; // Variable für die erstellte MD5-Summe
hLib=LoadLibrary("md5lib.dll"); // DLL laden
if(!hLib) { printf("Fehler beim laden der md5lib.dll\n"); system("PAUSE"); exit(0); }
md5 = (MD5) GetProcAddress(hLib,"hexMD5");
if(!md5) { printf("Fehler beim laden der Funkton hexMD5 in md5lib.dll\n"); system("PAUSE"); exit(0); }
printf("Datei: ");
fgets(name,sizeof name,stdin);
(*md5) (name,md5sum); // MD5-Summe erstellen mithilfe der DLL-Funktion
printf("MD5-Summe von \"%s\": %s\n",md5sum);
system("PAUSE");
return 0;
} |
Wer noch den Code ohne Kommentare will:
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <windows.h> // Dateien includieren
#include <stdio.h>
#include <stdlib.h>
typedef void (*MD5) (char*,char*);
int main()
{
MD5 md5;
HINSTANCE hLib;
char name[MAX_PATH+MAXFILENAME+5];
char md5sum[32];
hLib=LoadLibrary("md5lib.dll");
if(!hLib) { printf("Fehler beim laden der md5lib.dll\n");
system("PAUSE"); exit(0); }
md5 = (MD5) GetProcAddress(hLib,"hexMD5");
if(!md5) { printf("Fehler beim laden der Funkton hexMD5 in md5lib.dll\n"); system("PAUSE"); exit(0); }
printf("Datei: ");
fgets(name,sizeof name,stdin);
(*md5) (name,md5sum);
printf("MD5-Summe von \"%s\": %s\n",md5sum);
system("PAUSE");
return 0;
} |
Ich hoffe, das euch dieses Tutorial hilft.
Ich habe die Codebeispiele selbst getestet. Evtl. muss man noch Librarys (.libs) einbinden. Diese sind Compilerspezifisch und deshalb kann ich da nichts sagen.
Lorenz Brun



Kommentar schreiben

Bereiche
Kategorien
Forum - Programming





Artikel bewerten