加载 dll 后调用 DLL 函数

Call DLL function after loading the dll

本文关键字:DLL 函数 调用 dll 加载      更新时间:2023-10-16

有没有办法在加载后从 DLL 运行函数?所以它的行为与main()函数完全相同。我将 dll 加载到我的应用程序中,并且在加载 dll 本身而没有任何来自应用程序调用的情况下加载到它执行?

就像 DllMain 函数一样,但当我将 dll 注入应用程序时它可以工作。我希望它的工作方式相同,但是当我通过 LoadLibrary 加载它时。

DllMain将被调用以响应LoadLibrary,但仅限于在其中可以可靠地执行的操作。它不会对线程间通信做出很好的反应,如 MSDN DllMain 文档中所述。最好将此类代码放在Init函数中。根据我的经验,您在 DllMain 中堆得越多,您遇到的问题就越多;尽可能少做。

如果您确实无法使用 Init 函数,请尝试在 DllMain 中创建一个线程(附加)并从那里调用您的函数。