Estoy tratando de crear un archivo DLL que va a crear un hilo cuando lo cargue por alguna razón la función del hilo no está haciendo nada ..: \no puede llamar un hilo en el archivo DLL
Este es mi código :
dllthread! = Null ... ¿por qué no funciona?
#include "stdafx.h"
DWORD WINAPI ThreadProc(
__in LPVOID lpParameter
)
{
std::ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
DWORD DllThreadID;
HANDLE DllThread; //thread's handle
DllThread=CreateThread(NULL,0,&ThreadProc,0,0,&DllThreadID);
//
if (DllThread == NULL)
MessageBox(NULL, L"Error", L"Error", MB_OK);
CloseHandle(DllThread);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
No hagas esto. Crear un hilo desde DllMain es una [mala idea] (http://blogs.msdn.com/b/oldnewthing/archive/2007/09/04/4731478.aspx). –
¿Qué me estás sugiriendo que haga entonces? Necesito crear un hilo desde un archivo dll. – DanR
Dan, ¿posee el origen de la aplicación en la que está cargada esta DLL? – hmjd