最近碰到一个问题我用的是evc
是一个dll工程
dllmain函数启动的时候,在这个函数里写AfxMessageBox;以及在这个函数中调用另一个函数,且函数中也有使用AfxMessageBox来弹出提示对话框编译通过然而在执行的时候,发现,每次只要有地方调用这个dll,就是说在dllmain函数执行的时候,就会出现死机现象,程序走不下去,鼠标指针是在load的状态想知道是什么原因
是一个dll工程
dllmain函数启动的时候,在这个函数里写AfxMessageBox;以及在这个函数中调用另一个函数,且函数中也有使用AfxMessageBox来弹出提示对话框编译通过然而在执行的时候,发现,每次只要有地方调用这个dll,就是说在dllmain函数执行的时候,就会出现死机现象,程序走不下去,鼠标指针是在load的状态想知道是什么原因
这个dll中需要用到一些初始化的设置,这些设置是从配置文件中获得,所以我就写了一个函数在dllmain中调用to:jacklzw88(不可爱咯)
能说一下为什么不建议在dllmain函数中加代码的原因吗dll在被load的时候,可以通过(HANDLE hInstance, DWORD dwReason, LPVOID lpReserved)中第二个参数判断是DLL_PROCESS_ATTACH等状态,就可以在第一次被load的时候初始化一些全局变量,这样不是挺好的吗
MessageBox(m_hWnd, _T(""),_T(""),MB_OK | MB_TOPMOST );试试