======================================================================================
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;
- }
댓글 없음:
댓글 쓰기