加载dll后调用DLL函数

时间:2013-10-03 10:35:20

标签: c++ dll

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

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

1 个答案:

答案 0 :(得分:1)

DllMain会在响应LoadLibrary时被调用,但您可以在其中可靠地执行操作。它不会对线程间通信做出很好的反应,详见MSDN DllMain文档。最好将这些代码放在Init函数中。根据我的经验,你在DllMain中堆积的越多,你将遇到的问题就越多;尽量少做。

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