DLL, OCX 레지스트리 등록 방법.
OCX(DLL)파일 내에 선언되어있는 DllRegisterServer와 DllUnregisterServer를 호출함으로써 프로그램을 레지스트리에 등록할수 있습니다.
Install Shield와 같은 설치프로그램을 이용하면 쉽게 레지스트리에 등록가능하나 이를 이용하지 않을때 간단하게 쓸수 있는 함수 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 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 |