Von LoadLibrary Dokumentation:
Der Name des Moduls. Dies kann entweder ein Bibliothekmodul (eine DLL-Datei) oder ein ausführbares Modul (eine EXE-Datei) sein. Der angegebene Name ist der Dateiname des Moduls und bezieht sich nicht auf den Namen, der im Bibliothekmodul selbst gespeichert ist, wie im Schlüsselwort LIBRARY in der Moduldefinitionsdatei (.def) angegeben.
EDIT: Ich erwartete downvotes, als ich diese Antwort schrieb. Ich weiß, dass viele Leute denken, dass es nicht möglich ist (SO Fragen und Antworten aus Kommentaren bestätigen es). Aber für diejenigen, die interessiert sind, kann ich POC (oder einfach nur gut bekannte "Process Explorer" Quellen)
Beachten Sie, dass, wenn Sie Symbole aus dem Modul exportieren müssen Sie diese EXPORT-Anweisungen in .def
Datei verwenden. Dann können Sie GetProcAddress
Eigentlich verwenden, sehe ich, dass dieser SO question, auch in den Kommentaren erwähnt, hat Antwort, die Artikel weist "Load EXE as DLL: Mission Possible", die ich auch zitieren würde. Diese Antwort wird nicht akzeptiert, akzeptierte Antwort sagt "Nein" und wird sogar als Community-Wiki verwendet. Nun "SO doesn't claim to be (in part) a library reference"
Es kann nicht. Siehe das folgende: http://StackOverflow.com/Questions/1210873/Difference-between-Dll-and-Exe –
Related: http://StackOverflow.com/Questions/19110747/loadlibrary-an-Exe –
Nicht ein Experte , also werde ich nur zwei Dinge hinzufügen, die ich beachten sollte: 1) zwei Haupteinstiegspunkte (exe vs dll haben unterschiedliche). 2) DLL-Basisadresse ist nicht festgelegt, so dass Ihr "DLL" -Code "positionsunabhängiger Code" sein muss.Es gibt sicher noch viel mehr Dinge, um den Dateiinhalt richtig zu machen, um alle erforderlichen Abschnitte zu haben, etc .. Sieht aus wie Samis Kommentar hat ein nettes Tutorial, wie man es macht. Ich würde diese Mischung aus Wartungsgründen vermeiden (MS wird es eines Tages brechen, ich wette :)). Aber es sieht möglich aus, wenn Sie darauf bestehen. – Ped7g