Programm um .dll Datein zu öffnen.

...komplette Frage anzeigen

2 Antworten

Wenn Du eine DLL vorliegen hast, in der gewisse Ressourcen stecken, dann hast Du MITNICHTEN den Source-Code.

Wenn Du den Source-Code hast, liegt der mitnichten ALS DLL vor.

Eventuell hast Du ZUSÄTZLICH zu den Quellen noch eine bereits compilierte Form als DLL. Das müßtest Du aber nochmal genauer (eindeutig) beschreiben.

Wenn Du ein "Menü" testen willst, welches als Source-Code vorliegt, dann nimm eine "IDE", mache die Quellen darin auf (lege gegebenenfalls ein neues Projekt an!) und benutze den dort eingebauten GUI-Editor, um das Menü anzusehen, zu testen und zu bearbeiten!

Wenn Dein Menü dagegen doch nur als DLL vorliegt, dann nimm ein Programm, mit dem Du solche Ressourcen aus einem Compilat extrahieren kannst (Resource Hacker ist sowas), und schau Dir das Zeug DAMIT an!

Wenn Du weder noch machen willst, könntest Du das Menü in der DLL eventuell noch in ihrer Anwendung "vor ort" angucken und testen.

Antwort bewerten Vielen Dank für Deine Bewertung
Acrio13 26.03.2013, 21:54

Ich habe den Source code ;) Nur wenn ich F5 zum Compilieren drücke steht da immer ***.dll kann nicht gestartet werden. Was wie ich denke damit zu tun hat das man solche Dateien meines wissens nach nicht starten kann sondern nur öffnen. Und was ist eine IDE? Sowas wie Visual C++? Habe ich, habe auch das Projekt. Nur kann ich sie nicht starten.

0
WhiteGandalf 26.03.2013, 23:28
@Acrio13

Da müßten wir jetzt mal Butter bei die Fische geben und konkreter werden.

Wenn ich ein Projekt aufsetze, wo eine externe DLL eingebunden wird, deren Funktionen genutzt werden, KANN diese DLL sehr wohl geladen und benutzt werden. Wenn das bei Dir NICHT klappt, dann müssen wir die KONKRETEN Bedingungen Deines Projekts diskutieren!

Also: Werde mal konkreter!

0
Acrio13 27.03.2013, 13:40
@WhiteGandalf

Also die .dll habe ich geschrieben. Bzw lasse sie mit dem Projekt erstellen. Ich weis nur nicht was du alles für Infos brauchst.

0
WhiteGandalf 27.03.2013, 14:14
@Acrio13

Pack doch einfach mal die Projektdateien zusammen und auf einen Server zum Download!

Dann können wir (Helfer) das Zeug mal kurz bei uns in die IDE's packen und gucken, ob wir helfen können.

Das Herumgetanze um den heißen Brei wird Dir nichts helfen: Wenn bei Dir eine Sache nicht funktioniert, die bei zigtausenden Programmierern dieser Welt tadellos funktioniert, dann gibt es eine SPEZIFISCHE Ursache dafür unmittelbar bei Dir in Deinem Projekt. All die allgemeinen Hinweise werden Dir kaum helfen können. Ergo mußt Du zwangsläufig KONKRETER werden - bei einem Softwareprojekt bedeutet das, daß Du die konkreten Projektdateien zeigen mußt.

Falls Du sehr wohl bereits konkrete, sehr wahrscheinliche Vermutungen zur Ursache HÄTTEST, könntest Du das Vorzeigen eingrenzen. Falls Du diesbezüglich Bedenken hättest, Dir irgendwas abgucken lassen zu können. - Aber laß Dir versprechen, daß es mit den Angstgefühlen bezüglich Abgucken von Programmierkünsten ungefähr dasselbe ist wie mit den Angstgefühlen bezüglich Abgucken von Geschlechtsteilen nackter Menschen am FKK: Das erste Mal befürchtet man, die Welt könnte zusammenbrechen, und nach dem ersten Überwinden merkt man recht schnell, daß alle ersten nur mit Wasser kochen und zweitens gar nicht am massenweisen Klauen von Ideen interessiert sind. Denn am meisten Spaß macht jedem Enthusiasten immer noch das selber Erfinden!

Ohne konkrete Vermutungen kannst Du hier tage- und jahreweise mit Schall und Rauch wedeln, ohne zu einem Ergebnis zu kommen. Also zeig einfach mal die Projektdateien!

0
Acrio13 27.03.2013, 14:21
@WhiteGandalf

Das Problem dabei ist, ich habe es ja auch runtergeladen und musste mich dafür registrieren, der Ersteller kann/will mir nicht helfen und ich denke nicht das ihr euch auch registrieren wollt. habe nämlich noch nichts geändert. nur runtergeladen und Compiliert damit ich mal weis wie man so ein Menü erstellt. hier mal der Link. Und falls einige jetzt denken ich würde versuchen Hacks zu schreiben: FALSCH!. Ich bin nur an dem Menü interessiert. Den Rest würde ich gar nicht schaffen dafür sind meine Kenntnisse zu, naja sagen wir mal beschränkt.

http://www.unknowncheats.me/forum/downloads/Combat%20Arms%20Hacks/133/xImmortal%20Base%20-%20v1.0-8623/

0
WhiteGandalf 27.03.2013, 14:53
@Acrio13

So langsam dämmert es...

Es geht also um eine DLL, die eine Erweiterung für ein bestimmtes Spiel ist.

Da wirst Du natürlich dieses Spiel benutzen müssen, um die DLL in Funktion zu sehen.

Was Du eventuell zum Testen machen kannst, wenn Du NICHT das Spiel starten möchtest: Du mußt Dir die Laufzeitumgebung des Spieles soweit simulieren, daß die DLL "denkt", daß sie im Spiel laufen würde.

Also: Dein Simulator muß die DLL genauso, wie das Spiel es tun würde, laden und in Aktion versetzen. Eventuell gibt es bei den Moddern, von denen Du den Sourcecode geholt hast, einen solchen. Wenn nicht, mußt Du selbst ran. Dazu brauchst Du natürlich ordentlich detaillierte Infos über das Spiel. Eventuell (falls möglich) Zugriff auf Quelltexte.

===============

EINFACHER ist es, die DLL im Spiel zu benutzen!

0
Acrio13 27.03.2013, 15:01
@WhiteGandalf

Ok danke. Nur da gibt es schon wieder ein Problem :) Wie lädt man eine .dll? Naja ich werde einfach mal googlen. Kennst du gute D3D Tutorials wie man so ein Menü macht? Am besten D3D9

0
WhiteGandalf 27.03.2013, 16:10
@Acrio13

Na: Eine DLL wird nicht "einfach so" geladen. Eine DLL ist ein ZUSATZ (!) zu einer anderen, ausführbaren Datei. Man erzeugt also ein Projekt (mit einer EXE-Datei), zerlegt das in Module und definiert dann ein paar Module - normalerweise solche, die man in anderen Projekten alias EXE-Dateien wiederverwenden will - als Bibliotheken. Und die Bibliotheken KANN man dann auch als "DLL" definieren, wodurch sie NEBEN der betreffenden EXE-Datei liegen. Und das wiederum bewirkt, daß Du so eine DLL in mehreren völlig unabhängigen Exe-Dateien wiederverwenden kannst. Und diese Wiederverwendung geht soweit, daß der Inhalt der Bibliotheken nicht nur aus den Exe-Dateien herausgehalten werden kann, sondern auch vom Betriebssystem nur einmalig (!) im RAM gehalten werden braucht, auch wenn mehrere unabhängige Exe-Dateien gleichzeitig laufen, welche diese Bibliothek benutzen.

Auf Betriebssystemebene ist dieses Konzept zwingend notwendig, weil sonst Dein Windows nicht ohnehin schon gigabyteweise RAM zum Starten benötigen würde, sondern mindestens um eine Zehnerpotenz mehr.

OK - es gibt bestimmte Situationen, wo es üblich ist, DLL's dynamisch - während ein Programm läuft - nach Bedarf "nachzuladen". Zum Beispiel kannst Du unter Windows mittels "rundll32.exe" eine DLL in die laufende Systemumgebung hieven - wobei die sich nicht als Bibliothek zum "rundll32.exe" aufführt, sondern als Bibliothek zum Rest des laufenden Betriebssystems. Aber das setzt eine auch in diesem Fall laufende UMGEBUNG (!) voraus, FÜR DIE (!) die DLL ein Zusatz ist. Also: Die Umgebung muß ZUERST (!) laufen, die DLL kann DANACH (!) als zusätzliches Modul in diese Umgebung gehievt werden.

Bei Deiner Spiel-DLL ist es dasselbe: Dein Spiel (zu dem die DLL ein Zusatz ist) muß zwingend ZUERST im Hintergrund laufen, BEVOR Du eine Zusatz-DLL ins Spiel laden kannst.

Und um das nochmal abzurunden: Du kannst natürlich die primäre Umgebung (das, was VORAUSSETZUNG für die DLL ist) auch simulieren. Aber dann mußt Du halt alle Funktionen der primären Umgebung, die für die DLL von Relevanz sind, nachbauen. Ich vermute, daß das ein bißchen viel auf einmal sein dürfte...

0
WhiteGandalf 27.03.2013, 16:15
@Acrio13

Ansonsten wegen Tutorials: Die Google-Suche "D3D Tutorial" bringt derzeit fast perfekte Treffer. Lediglich um Microsoft selbst würde ich einen Bogen machen - die Jungs erzeugen zwar das D3D, haben es aber irgendwie drauf, das Zeug in einem dermaßen kruden fachchinesisch zu präsentieren, daß es einem die Fußnägel hochrollt. Alle anderen Treffer sind sehr gute, schön schrittweise Einführungen mit Anleitung und Codebeispielen und Erläuterungen satt!

0
Acrio13 27.03.2013, 19:02
@WhiteGandalf

Ok danke. Also brauche ich sowas wie nen Injector? Der die dll in das Spiel setzt?

0
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?