ネイティブ(C++)DLLを実行可能ファイルとして読み込むことはできますか? ハードドライブやそれに類するものにEXEを作成せずにメモリから直接スルーしますか?DLLをexeとして起動する
答えて
ルックアップrundll32.exe
。しかし、あなたがしていることを正確に知っている方がよいでしょう。正直、わかりません。
LoadLibrary
WinAPI呼び出しを使用してDLLを読み込むことができます。
具体的にはどういう意味ですか?たとえば、DLLでどのエントリポイントを使用しますか?
これが実際に動作する唯一の方法は、DLLが特に許可されている場合です。その場合、なぜ最初にDLLの代わりに実行可能ファイルを作成するだけではないのか正確には分かりません。
ケーススタディはRunDLL32.exeスタブです。 DLL with a specific signatureの関数をエントリポイントとして実行するように設計されています。 DLLがこの署名に準拠するように特別に設計されていない場合は、things don't go well。 にこのような機能が必要な場合は、RunDLL32.exeに必要な関数の署名を照合し、DLLを使用してDLLを実行することを検討してください。
私はこのDLLを書いているので、許可するように書かれています。私はx64とx86プラットフォームの両方を扱う必要がありますが、私は2つのバージョンを提供したくありません(私の質問にコメントで説明しています): – Idov
@Idov:標準パターンは2つのバージョンを提供することです。デバッガの場合は、開発者向けに書かれています。私は、x86プラットフォームとx64プラットフォームの違いを理解し、2つの異なる実行可能ファイルをうまく混乱させることができると思います。この方法を必要以上に複雑にしています。 –
マイクロソフトでは、Rundll32.exe
を提供しています。この機能を使用して、この使用法をサポートするように明示的にコード化されたDLL機能を実行できます。
- 1. * .bashと* .batを起動して* .exeを起動する
- 2. getprocaddressはdllとexeと異なる動作をします
- 3. Vistaで現在のユーザードメインとしてexeを起動する
- 4. .NetコアをDLLではなくEXEとして構築する
- 5. golangアプリケーションexeをWindowsサービスとして起動できません
- 6. ウィンドウサービスからexeプログラムを起動する
- 7. c#リモートフォルダから.exeを起動する
- 8. .exeファイルを起動しても動作しませんか?
- 9. バッチファイルから隠してexeを起動する
- 10. DLLと比較してexeパフォーマンスコストを呼び出す
- 11. 起動時に管理者として.exeを実行するためのRegEdit
- 12. libgomp_64-1.dllが不足しているため、exeファイルが起動できません(Eclipse)
- 13. Windows 2000でAsio dllを起動するとws2_32.dllエラーが発生する
- 14. リモートマシン上でローカルマシンのexeファイルを起動しようとしています
- 15. function EXE to DLL(Delphi)
- 16. カーバイドでexeとdllプロジェクトをデバッグ2.7
- 17. C++ .exeでDLLをコンパイルする方法
- 18. Windowsのプロセス[exe]を再起動
- 19. .exeファイルと.dllファイルのバッチセットバージョン番号
- 20. .exeと.dllの間の共有設定
- 21. メニュー参照(.dllと.exe)のマージ
- 22. C#.exeを.dllにする/実行するか.dllを.exeのように実行するか
- 23. .dllファイルを使用する.exeファイルと区別する方法
- 24. exeが起動したときの監視
- 25. exeとdllは同じ名前と同じ名前空間を持つDLLを参照しています
- 26. fulltrustlauncherを使用してuwpアプリケーションで.exeファイルを起動する方法は?
- 27. GUIのJButtonをクリックして.exeファイルを起動する方法は?
- 28. 別のコンピュータで.exe-Fileを実行しているときに「Missing MSCVP140.dll」と「VCRUNTIME140.dllがありません」
- 29. Pyinstallerにdllがない、exeが動作しない
- 30. Windowsサービスが起動していませんGO Lang exe
なぜあなたはこれをしたいですか – rerun
ここで何を達成しようとしていますか? – ChrisF
私はC++で独自のデバッグしかできないデバッガを作成しています。 x64はx64とx86 - x86のみをデバッグできます。 2つの別々のexeを用意するのではなく、各プラットフォームごとに1つずつ、デバッグ対象にどのバージョンが必要であるかをチェックしてから、そのexeを "作成"することを考えていました。 – Idov