コード例 #1
0
ファイル: dllmain.cpp プロジェクト: Kaldaien/TSF
BOOL
WINAPI
SKPlugIn_Init (HMODULE hModSpecialK)
{
  wchar_t wszSKFileName [  MAX_PATH  ] = { L'\0' };
          wszSKFileName [MAX_PATH - 1] =   L'\0';

  GetModuleFileName (hModSpecialK, wszSKFileName, MAX_PATH - 1);

  injector_dll = wszSKFileName;

  hInjectorDLL = hModSpecialK;

#if 0
  CreateThread ( nullptr,
                   0,
                     DllThread,
                       nullptr,
                         0x00,
                           nullptr );
#else
  // Not really a thread now is it? :P
  DllThread (nullptr);
#endif

  return TRUE;
}
コード例 #2
0
ファイル: dllmain.c プロジェクト: caoatcao/zDirect2Dwg
BOOL WINAPI DllMain(HANDLE hInstance, DWORD dwReasonForCall, LPVOID lpReserved)
{
  FINT4 zg;
  FINT4 iReasonForCall;
  BOOL  bReturn = TRUE;

  switch (dwReasonForCall)
  {
  case DLL_PROCESS_ATTACH:
       hDllInstance = hInstance;
       UpdateResourceTable(1, hInstance);
       
       iReasonForCall = PROCESS_ATTACH;
       bReturn = DllProcess(&iReasonForCall, &zg);
       break;

  case DLL_THREAD_ATTACH:
       iReasonForCall = THREAD_ATTACH;
       bReturn = DllThread(&iReasonForCall, &zg);
       break;

  case DLL_THREAD_DETACH:
       iReasonForCall = THREAD_DETACH;
       bReturn = DllThread(&iReasonForCall, &zg);
       break;

  case DLL_PROCESS_DETACH:
       iReasonForCall = PROCESS_DETACH;
       bReturn = DllProcess(&iReasonForCall, &zg);

       UpdateResourceTable(2, hInstance);
       break;
  }

  return bReturn;
}