Incbin bei DLL
Übersicht

PhillipKBetreff: Incbin bei DLL |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Heyho Leute!
Mich quählt grade ein Problem ![]() Aus jux habe ich angefangen, ein kleines Tool für Dwarf fortress zu schreiben, um die dortige konkurenz mal ein wenig in den Schatten zu stellen *grins* Für meine idee brauchte ich ein paar keystrokes die ich an das programm sende. Deswegen verwende ich (momentan) noch die AutoitX3.dll, um dies zu realisieren. Besser gesagt: Ich habe mittlerweile erfolgreich die WinApi methode zum senden von Keystrokes (sendInput) gewrappt, um diese nun relativ einfach zu nutzen (TInput.sendKey([KEY_ENTER,KEY_SHIFT]), brauche die DLL aber für andere dinge (fenster aktivieren u.a.) Um die dll zu laden habe ich bisher immer LoadLibraryA("pfad") genutzt. Nun möchte ich aber die DLL mit in die exe per IncBin einbinden, was mit LoadLibraryA aber (anscheinend ? ![]() Gibt es eine andere möglichkeit, eine DLL zu laden? Zb die datei als Byte ptr an eine andere funktion zu übergeben (dh selbst die bytes lesen -> incbin möglich, danach an eine WinApi methode zum laden weiterreichen), sodass ich hinterher wieder bei meinem handle lande, um die Funktionen zu initialisieren? Da ich ein vollkommener Noob bin, was dll's und dll laden angeht, hier mal ein kleines snippet: BlitzMax: [AUSKLAPPEN]
(zusammengesucht aus tutorials, obs andere alternativen zum laden gibt, konnte ich bisher noch nicht rausfinden :<) |
||
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gerade mal ausprobiert, das hier scheint zu funktionieren.
Ist eventuell nicht die beste Lösung, aber es läuft. BlitzMax: [AUSKLAPPEN] SuperStrict |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eine intressante lösung oO
Temporäre datei anlegen? ![]() Ich denke, damit kann ich leben. Schonmal ein sehr guter ansatz, danke! ![]() Falls es dennoch eine "bessere" methode gibt, dh ohne tmpfile, wäre das natürlich besser - Es kann immer mal zu einem problem kommen, was dafür sorgt, das man unerwünschte tmp-leichen hat ![]() |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist möglich, eine DLL komplett manuel zu laden, das sprengt aber jeden Rahmen da man einen kompletten PE loader selber implementieren muss.
Ein Tempfile ist klar die beste Lösung, und wenn du das ins Tempdir vom system machst, kannst du da auch immer auf jeden fall schreiben. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group