我想创建一个 dll 以在某些情况下自行卸载,这意味着

BOOL APIENTRY DllMain( HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
if (ul_reason_for_call==DLL_PROCESS_ATTACH)
if (!CheckSomething()) //check if a file doesnt exists for example
FreeLibrary(hModule);

}

我试过了,但我无法让它工作。如果有任何替代解决方案。请告诉我,我不希望附加 dll 的进程卸载它,我希望它自己卸载它

最佳答案

您无法卸载 DLL,它尚未加载。这就是 BOOL 返回的目的。如果您不想加载 DLL,则返回 FALSE

关于c++ - Dllmain 可以使用 FreeLibrary 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8646938/

10-11 16:52