추가, 삭제 및 자원 대체

응용 프로그램 해야 합니다 자주 추가, 삭제, 또는 실행 파일에서 자원을 대체 합니다. 이러한 작업을 수행 하는 두 가지 방법은 사용할 수 있습니다. 첫 번째 리소스 정의 파일을 편집 하 고 리소스를 다시 컴파일하고 다시 컴파일한 리소스 응용 프로그램의 실행 파일에 추가 하는 것. 두 번째 방법은 리소스 데이터 응용 프로그램의 실행 파일에 직접 복사 하는 것.

예를 들어, 노르웨이에서 사용 하기 위해 영어-언어 응용 프로그램을 지역화할 수 있습니다 하나 영어 대화 상자 바꿀 필요가 노르웨이어를 사용 하 여. 개발자는 대화 상자 편집기를 사용 하 여 또는 리소스 정의 파일에는 서식 파일을 작성 하 여 적절 한 대화 상자를 만듭니다. 개발자는 다음 리소스를 다시 컴파일하고 하 고 응용 프로그램의 실행 파일에 새 리소스를 추가.

그러나 바이너리 형태로 존재 하는 적절 한 대화 상자,, 개발자 세 Win32 함수를 사용 하 여 지역화 되는 실행 파일에 직접 데이터를 복사할 수 있습니다. BeginUpdateResource 함수는 리소스 변경 해야 하는 실행 파일에 대 한 업데이트 핸들을 만듭니다. UpdateResource 함수를 추가, 삭제 또는 실행 파일에 리소스를 대체이 핸들을 사용 합니다. EndUpdateResource 함수는 핸들을 닫습니다.

업데이트 핸들 실행 파일을 BeginUpdateResource에 의해 만든 후 응용 프로그램 사용할 수 UpdateResource 반복적으로 자원 데이터를 변경 합니다. UpdateResource 를 호출할 때마다 추가, 삭제 및 교체의 내부 목록에 기여 하지만 실행 파일에 데이터를 실제로 작성 하지 않습니다. 즉시 업데이트 처리를 닫기 전에 EndUpdateResource 실행 파일 누적 된 변경 기록.

가끔은, 응용 프로그램 리소스 복사 하거나 리소스 크기를 찾을 해야 합니다. LoadLibrary 함수 모듈 핸들 리소스 복사 해야 하는 실행 파일을 제공 하 고 LockResource 함수는 지정된 된 모듈의 리소스 데이터에 대 한 포인터를 제공 합니다. SizeofResource 함수 지정된 된 리소스의 바이트에서 크기를 반환합니다.

 

Index