C++ ; een DLL maken en in .exe openen

Status
Niet open voor verdere reacties.

jimowns

Gebruiker
Lid geworden
2 sep 2006
Berichten
341
hey,

ik wou eigenlijk een DLL bestand laten lezen in .exe
in DLL bestand heb ik "hallo wereld" gemaakt maar ik wou het laten lezen in win32 console application.

kan iemand mij hierbij helpen ?

dank bij voorbaat
 
Je wilt dus dat die console applicatie je DLL gebruikt?

Ik gebruik hiervoor altijd een "Injector". Deze programma's kunnen DLL bestandjes in draaiende processen laden. Ze worden wel helaas vaak verdacht van een virus te zijn door een anti-virus.
 
Hier is een .dll niet voor gemaakt, je kan er beter gewoon functies inzetten of bepaalde dingen laten doen. Niet voor een simpele cout. Ik zou ook niet wten of zoiets kan/ moet.

Je zou een functie kunnen maken in je .dll, die dan een bepaalde char teruggeeft en dat je die dan cout.

Functies kan je makkelijk exporteren doormiddel van een .def, google daar maar op misschien kom je nog meer intressants tegen.

Gebruik Geen DLL als het niet nodig is

@murdoch201, Een .dll is een simepele code, die je dan beter in je .exe kan doen en dat vervolgens via dat kan injecten.

Maar ik zie het nut er totaal neit van in om in je eigen process een .dll te inejcten sinds je dan geen controle hebt over de .dll zonder in moeilijke asm terecht te komen.
 
Om te leren hoe je met een DLL omgaat kun je er eentje maken met functionaliteit waarvoor een DLL misschien niet nodig is.

In je DLL heb je waarschijnlijk een functie gedefinieerd. Als je een header hebt waarin de declaratie van die functie staat, moet je die #include'en en je compiler je DLL mee laten linken. Dan zou je je functie aan moeten kunnen roepen.

Ik heb dit zelf nog nooit gedaan, maar ik neem aan dat het niet anders is dan hoe ik normaal een library mee-link.
 
Aah ik snap het niet al te best,
met dat .def daar maak je een .lib bestand van en dan deze inbrengen in Directories zowel de lib bestand als DLL.
en includen bij mijn headers de #include "bestand.dll".
maar bij die headers lukt dat wel?
of bedoel je #import "bestand.dll" ?

of moet het dit zijn #pragma comment (lib, "bestand.lib")
dit is dan een lib bestand.

een funtie aanmaken in mijn dll programma en verder uitvoeren in mijn .exe.
 
Laatst bewerkt:
Ik weet in ieder geval dat wanneer ik bijvoorbeeld SFML in een project wil gebruiken, dat ik de header bijvoeg (#include <SFML/Graphics.hpp>, daar staan dan de declaraties van de functies in) en bij de instellingen van mijn project link ik de juiste libraries mee (-lsfml-graphics, wat denk ik overeenkomt met #pragma comment(lib, "sfml-graphics.lib")).

In dit geval linkt hij dan .lib bestanden mee, maar ik kan ook instellen dat hij de dynamische libraries meelinkt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan