electron 在.exe中包含.dll .pak .bin

u1ehiz5o  于 2023-06-20  发布在  Electron
关注(0)|答案(1)|浏览(166)

我用javascript创建了一个电子应用程序。我有多个文件,即:.bin .pak .dll和.exe
总共有15到25个文件。是否有可能包括我所有的.dll .bin .pak文件的在我的.exe,以便将有一个大的.exe文件?
我已经查找了asar和工作,但我得到一个.asar文件,而不是一个.exe,然后我不能执行我的.asar文件
我现在有15-25个文件的(。dll。bin。pak)和。exe我想有一个。exe包括所有的。dll。bin。pak文件的。

mzsu5hc0

mzsu5hc01#

你可以用二进制编辑器打开.exe,并在.exe的第一部分添加一些编译的c++,这样代码就可以看起来像这样:

#include <Windows.h>

// Function pointer typedef for the DLL function
typedef int (*MyDLLFunction)(int);

int main() {
    // Load the DLL
    HMODULE dllHandle = LoadLibrary("mydll.dll");
    if (dllHandle == nullptr) {
        // DLL loading failed
        // Handle the error accordingly
        return 1;
    }

    // Get the function address from the DLL
    MyDLLFunction dllFunction = reinterpret_cast<MyDLLFunction>(
        GetProcAddress(dllHandle, "MyDLLFunction"));
    if (dllFunction == nullptr) {
        // Failed to retrieve the function address
        // Handle the error accordingly
        return 1;
    }

    // Call the DLL function
    int result = dllFunction(42);
    // Process the result...

    // Unload the DLL
    FreeLibrary(dllHandle);

    return 0;
}

编译这个文件,在二进制编辑器中打开.o或.bin文件,复制粘贴到可执行文件中--注意--这是针对windows的,在另一个操作系统上,你可能需要搜索“如何在linux上将.dll链接到c++”
我刚意识到这根本没有回答你的问题,你可以从文件中复制二进制文件,然后将它们添加到.exe文件中,我和你有点关系,我喜欢把所有的东西都放在一个文件中。

相关问题