dllmain.cpp 928 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // dllmain.cpp : 定义 DLL 应用程序的入口点。
  2. #include "stdafx.h"
  3. const char* g_szMouldPath = nullptr;
  4. BOOL APIENTRY DllMain( HMODULE hModule,
  5. DWORD ul_reason_for_call,
  6. LPVOID lpReserved
  7. )
  8. {
  9. switch (ul_reason_for_call)
  10. {
  11. case DLL_PROCESS_ATTACH:
  12. {
  13. char* pName = new char[MAX_PATH];
  14. if (GetModuleFileName(hModule, pName, MAX_PATH - 1))
  15. {
  16. g_szMouldPath = const_cast<const char*>(pName);
  17. }
  18. else
  19. {
  20. printf("\r\n Get mould path failed %d \r\n", GetLastError());
  21. }
  22. break;
  23. }
  24. case DLL_THREAD_ATTACH:
  25. case DLL_THREAD_DETACH:
  26. break;
  27. case DLL_PROCESS_DETACH:
  28. {
  29. if (g_szMouldPath != nullptr)
  30. {
  31. delete[] g_szMouldPath;
  32. g_szMouldPath = nullptr;
  33. }
  34. break;
  35. }
  36. }
  37. return TRUE;
  38. }