2009-07-02 7 views
6

임베디드 리소스를 만든 다음 C++에서 액세스하려면 어떻게해야합니까?C++의 임베디드 리소스

리소스를 읽는 방법에 대한 예제는 훌륭합니다.

Visual Studio 2005를 사용하고 있습니다.

미리 감사드립니다.

편집 : 수신 한 xml 파일의 스키마를 확인하는 동안 필요한 xsd 파일 하나를 넣고 싶습니다.

답변

9

내가 @Sharptooth 전에 설명하고 당신이 resourceIdtype을 변경해야 할 자원 여기

HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type); 
HGLOBAL hRes = LoadResource(hInstance, hResInfo); 
LPVOID memRes = LockResource(hRes); 
DWORD sizeRes = SizeofResource(hInstance, hResInfo); 

을 얻기 위해 다음 코드를 사용하고 있습니다.

예를 들어 .png 파일의 경우 사용자 지정 리소스를 추가 할 때 사용한 형식 인 "PNG"문자열을 FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG"));으로 사용합니다.

+0

어떻게하면 런타임에 DLL의 핸들을 얻을 수 있습니까? – Gilad

+0

이 질문이 "DLL에서 HINSTANCE를 얻으려면 어떻게 할 수 있습니까?" http://stackoverflow.com/questions/2126657/how-can-i-get-hinstance-from-a-dll#2126689 – Ismael

3

리소스 (.rc) 파일을 프로젝트에 추가하고 리소스 설명을 입력하십시오. 프로젝트를 빌드 할 때 리소스 컴파일러는 리소스 파일을 컴파일하고 링커는 컴파일 된 리소스 파일을 결과 실행 모듈에 연결합니다.

런타임에서 FindResource(), LoadResource() WinAPI 함수를 호출하십시오.

관련 문제