Esempio n. 1
0
BOOL APIENTRY DllMain(HMODULE hInstance,DWORD fwdReason, LPVOID lpvReserved)
 {
switch(fwdReason)
 {
 case DLL_PROCESS_ATTACH:
	 {
		nameHinstanceP.hInstanceP = (HINSTANCE)hInstance;
#ifdef AUTODLL
	ahkdll("autoload.ahk", "", "");	  // used for remoteinjection of dll 
#endif
	   break;
	 }
 case DLL_THREAD_ATTACH:
	 {
		break;
	 }
 case DLL_PROCESS_DETACH:
	 {
		 int lpExitCode = 0;
		 GetExitCodeThread(hThread,(LPDWORD)&lpExitCode);
		 if ( lpExitCode == 259 )
			CloseHandle( hThread ); // need better cleanup: windows, variables, no exit from script
		 break;
	 }
 case DLL_THREAD_DETACH:
 break;
 }

 return(TRUE); // a FALSE will abort the DLL attach
 }
Esempio n. 2
0
BOOL APIENTRY DllMain(HMODULE hInstance,DWORD fwdReason, LPVOID lpvReserved)
 {
switch(fwdReason)
 {
 case DLL_PROCESS_ATTACH:
	 {
		nameHinstanceP.hInstanceP = (HINSTANCE)hInstance;
		g_hInstance = (HINSTANCE)hInstance;
		g_hMemoryModule = (HMODULE)lpvReserved;
#ifdef AUTODLL
	ahkdll("autoload.ahk", "", "");	  // used for remoteinjection of dll 
#endif
	   break;
	 }
 case DLL_THREAD_ATTACH:
	 {
		break;
	 }
 case DLL_PROCESS_DETACH:
	 {
		 if (hThread)
		 {
			 int lpExitCode = 0;
			 GetExitCodeThread(hThread,(LPDWORD)&lpExitCode);
			 if ( lpExitCode == 259 )
				CloseHandle( hThread );
		 }
	// Unregister window class registered in Script::CreateWindows
#ifndef MINIDLL
#ifdef UNICODE
	if (g_ClassRegistered)
		UnregisterClass((LPCWSTR)&WINDOW_CLASS_MAIN,g_hInstance);
	if (g_ClassSplashRegistered)
		UnregisterClass((LPCWSTR)&WINDOW_CLASS_SPLASH,g_hInstance);
#else
	if (g_ClassRegistered)
		UnregisterClass((LPCSTR)&WINDOW_CLASS_MAIN,g_hInstance);
	if (g_ClassSplashRegistered)
		UnregisterClass((LPCSTR)&WINDOW_CLASS_SPLASH,g_hInstance);
#endif
#endif // MINIDLL
		 break;
	 }
 case DLL_THREAD_DETACH:
 break;
 }

 return(TRUE); // a FALSE will abort the DLL attach
 }
Esempio n. 3
0
unsigned int com_ahkdll(LPTSTR fileName,LPTSTR argv,LPTSTR args){return ahkdll(fileName,argv,args);}