|
임문환 님이 쓰신 글 :
: 연습삼아 PE(Portable Executable) 뷰어를 만들고 있습니다.
:
: .rsrc 섹션에서 Resource Directory Table이 리소스의 Type에 관한 것일 때,
:
: IMAGE_RESOURCE_DIRECTORY_ENTRY의 Id 멤버는 리소스 타입 ID입니다.
:
: 리소스 타입에는 CURSOR,BITMAP,ICON,RCDATA,STRING 등등이 있습니다.
:
: 그렇다면, 리소스 타입 ID(정수)로 리소스 타입 이름(문자열)을 알아내는 방법은 무엇인지 알고 싶습니다.
:
: 빌더에 기본으로 제공되는 API나 헤더 파일이 없다면, 윈도우즈 OS에서 사용하는 모든 리소스 타입들에 대해 ID와 이름을 알려주시면 고맙겠습니다.
먼저, 서정국.새더 님께 감사드립니다.
MAKEINTRESOURCE의 결과 포인터는 리소스 관련 WIN API 호출에만 사용할 수 있다고 도움말에 나오며 실험해보니 통상의 문자열로는 사용할 수가 없더군요.
질문하기 전에 EnumResourceTypes Win API 도움말을 보면서 RT_ACCELERATOR 등을 발견하고 윈도우즈 탐색기의 검색 기능을 이용하여 BCB Include 디렉터리 밑의 모든 파일을 찾았지만 해당하는 헤더 파일을 찾을 수가 없었지요.
그런데 조금전에 다시 찾아보니 이상하게도 winuser.h에 있다고 나오는군요.
열어보니 ,
#define RT_CURSOR MAKEINTRESOURCE(1)
#define RT_BITMAP MAKEINTRESOURCE(2)
등으로 되어 있었습니다.
이것이면 문제를 해결할 수 있습니다.
이것으로 문자열(리소스이름) 배열을 만들어 사용하는 게 당장의 해결책입니다.
|