всех с НГ.
Такой вот вопросец есть: линкую DLL (Д) статически к своей программе.
программа (П) представляет собой плагин (ДЛЛ).
Если не находится Д, то при старте появляется чудная системная надпись о том, что Д е была найдена и плагин вываливается.
Мне же нужно убрать эту надпись и показать просто свое сообщение и завершить работу плагина.
Второе я сделать могу: через отложенную загрузку я могу сначала в DllMain проверить, можно ли загрузить Д и реагирую в зависимости от результата, но после этого все равно появляется системная надпись, что бы я не возвращал в DllMain
//Отложеннгая загрузка
#include <DelayImp.h>
#pragma comment(lib, "Delayimp.lib")
#pragma comment(lib,"my.lib")
BOOL APIENTRY DllMain( HINSTANCE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
hDllInstance = hModule;
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
HMODULE hlib = LoadLibrary(L"my.dll");
if(!hlib)
{
MessageBoxA(0, "Error", "", 0);
//lpReserved = NULL;
return NULL;
}
//FreeLibrary(hlib);
}
return NULL; //Здесь пробовал разные значения вовзвращать...
}
По сути нужно прервать загрузку плагина, чтобы он не пытался загрузить Д.