-2

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

就像 DllMain 函数一样,但是当我将 dll 注入应用程序时它可以工作。我希望它能够正常工作,但是当我通过 LoadLibrary 加载它时。

4

1 回答 1

1

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

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

于 2013-10-03T10:42:15.797 回答