在学习dll的过程中发现了一个很好用的入口函数
BOOL APIENTRY DllMain(
HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
) {
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
// DLL 被加载时执行的代码
break;
case DLL_THREAD_ATTACH:
// 新线程附加到 DLL 时执行的代码
break;
case DLL_THREAD_DETACH:
// 线程从 DLL 分离时执行的代码
break;
case DLL_PROCESS_DETACH:
// DLL 即将被卸载时执行的代码
break;
}
// 返回 TRUE 表示初始化成功,返回 FALSE 表示初始化失败
return TRUE;
}
为了避免过于冗长和一些未知错误,最好是把函数写在别的地方以供在此处调用。