2017-09-17 10 views
1

TypeLib 레지스트리 키 아래에서 파일 경로를 구문 분석하려고 할 때 다음과 같은 레지스트리 값이 여러 개 :HKCR TypeLib <TypeLib> 아래의 파일 경로에 " <num>"을 추가한다는 것은 무엇을 의미합니까?

HKEY_CLASS_ROOT\TypeLib\\{EE9CFA8C-F997-4221-BE2F-85A5F603218F}\1.0\0\win64(Defalt): C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesX64\Microsoft Office\Office16\OCHelper.dll\1 

HKEY_CLASS_ROOT\TypeLib\\{F9E34568-0298-46D3-B9C4-19AFB415CBA8}\1.0\0\win32(Default): C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\mswebprj.dll\5 

HKEY_CLASS_ROOT\TypeLib\\{F2A7EE29-8BF6-4a6d-83F1-098E366C709C}\1.0\0\win32(Default): C:\Program Files (x86)\Microsoft Office\Root\Office16\ONENOTE.EXE\2 

각 파일 경로 뒤에 백 슬래시가 추가됩니다. 분명히 이러한 파일 경로는 파일 시스템에 적합하지 않습니다. 어떤 사람이 구문을 인식하는지, 그리고 이러한 레지스트리 키 아래에서 typelib 등록에 대한 부록의 의미를 궁금해합니다.

답변

0

일반적으로 우리는 레지스트리 정보를 기반으로로드 유형 라이브러리에 LoadRegTypeLib을 사용합니다. 함수 LoadRegTypeLibLoadTypeLib을 사용하여 파일을로드합니다. 기본적으로 LoadTypeLib

대해 설명 섹션을 읽은 타입 라이브러리 형 하는 ITypeLib의 제 리소스로부터 추출된다. 다른 유형의 라이브러리 리소스를로드하려면 은 정수 인덱스를 szFile에 추가합니다. 예를 들어 :

ITypeLib *ptlib; 
LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib) 

이 문은 파일 Mfa.exe 파일의 형식 라이브러리 자원 3을로드합니다.

0

Visual Studio에서 파일> 열기> 파일을 사용하고 C : \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Packages \ mswebprj.dll을 선택하십시오. DLL에 임베드 된 리소스가 표시됩니다. TYPELIB 노드를 열면 5가 무엇을 의미하는지 즉시 알 수 있습니다.

리소스 ID입니다.

보다 일반적으로 파일에는 하나의 유형 라이브러리 만 포함되며 리소스 ID는 # 1입니다. 때로는 형식 라이브러리가 포함되지 않지만 .tlb 또는 .olb 파일 이름 확장명을 가진 별도의 파일에 저장됩니다. .NET [ComVisible] 어셈블리와 마찬가지로 Office도 일반적인 예입니다.