DLL, OCX 레지스트리 등록 방법.
OCX(DLL)파일 내에 선언되어있는 DllRegisterServer와 DllUnregisterServer를 호출함으로써 프로그램을 레지스트리에 등록할수 있습니다.
Install Shield와 같은 설치프로그램을 이용하면 쉽게 레지스트리에 등록가능하나 이를 이용하지 않을때 간단하게 쓸수 있는 함수 입니다.
BOOL CRegSvr32::Install(LPCSTR sPath){ HRESULT (STDAPICALLTYPE * lpDllEntryPoint)(void); HINSTANCE hLib = LoadLibraryEx(sPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); if (hLib < (HINSTANCE)HINSTANCE_ERROR) { INSTALL_FAIL(); } (FARPROC&)lpDllEntryPoint = GetProcAddress(hLib, "DllRegisterServer"); if (lpDllEntryPoint == NULL) { INSTALL_FAIL(); } if (FAILED((*lpDllEntryPoint)())) { INSTALL_FAIL(); } FreeLibrary(hLib); return TRUE; } BOOL CRegSvr32::UnInstall(LPCSTR sPath){ HRESULT (STDAPICALLTYPE * lpDllEntryPoint)(void); HINSTANCE hLib = LoadLibraryEx(sPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); if (hLib < (HINSTANCE)HINSTANCE_ERROR) { INSTALL_FAIL(); } (FARPROC&)lpDllEntryPoint = GetProcAddress(hLib, "DllUnregisterServer"); if (lpDllEntryPoint == NULL) { INSTALL_FAIL(); } if (FAILED((*lpDllEntryPoint)())) { INSTALL_FAIL(); } FreeLibrary(hLib); return TRUE; }
"프로그래밍 / Visual C" 분류의 다른 글
[MFC] HttpOpenRequest 이용시 0xC0000005: 0xcccccccc 오류 (0) | 2014/03/04 |
[MFC] modal dialog(모달 대화상자) 숨긴채로 시작하기 (0) | 2014/03/04 |
[MFC] 프로세스 파일 경로 (0) | 2013/09/24 |
[MFC] OpenSSL Visual Studio 2008에서 컴파일 및 설치 하기 (0) | 2009/05/11 |
[MFC] Visual Studio 2008에서 zlib 1.2.3 컴파일 (0) | 2009/04/21 |
IE8설치후 VS2008 스크립트 오류 문제 (4) | 2009/03/31 |
데이크스트라 알고리즘(Dijkstra algorithm) (2) | 2008/12/29 |
Microsoft Office 2007 연동 (1) | 2008/06/04 |
GDI+에서 Round Rectangle 그리기. (0) | 2008/03/14 |
VC macro __FUNCTION__ UNICODE에서 사용하기 (0) | 2008/03/14 |