LoadLibrary, just load's the dll, so you can call functions in it. You need to have a function prototype to call a function in a dll. Lets make a function that will register a com-dll (just like regsvr32.exe does): typedef void (*f)(void); BOOL MyFuncCallsADLL(TCHAR* szDll) { f pf; // our function pointer HINSTANCE hDll = LoadLibrary(szDll); if(hDll == NULL) return FALSE; // we couldnt load library //get function address pf = (f)GetProcAddress(hDll, _T("DllRegisterServer")); if(pf == NULL) { FreeLibrary(hDll); return FALSE; //we couldn locate the function } //lets call that method pf(); FreeLibrary(hDll); return TRUE; } ;P