C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[39522] Re:리소스 타입 ID로 타입 이름 알아내는 방법?
임문환 [origin] 1075 읽음    2005-03-15 18:24
임문환 님이 쓰신 글 :
: 연습삼아 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)
등으로 되어 있었습니다.
이것이면 문제를 해결할 수 있습니다.
이것으로 문자열(리소스이름) 배열을 만들어 사용하는 게 당장의 해결책입니다.

+ -

관련 글 리스트
39513 리소스 타입 ID로 타입 이름 알아내는 방법? 임문환 1168 2005/03/15
39522     Re:리소스 타입 ID로 타입 이름 알아내는 방법? 임문환 1075 2005/03/15
39516     Re:리소스 타입 ID로 타입 이름 알아내는 방법? 서정국.새더 1110 2005/03/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.