디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

WINAPI에서 HWND랑 HINSTANCE차이가 먼가영

금고래갤로그로 이동합니다. 2011.01.26 21:27:04
조회 207 추천 0 댓글 11

HINSTANCE는 프로그램의 핸들이 아니라, 프로그램 코드를 담고 있는 모듈에 대한 핸들이다. 즉, 프로그램이 수행되려면 프로그램 코드를 담고 있는 파일을 메모리의 특정 영역에 올려서 명령을 하나식 읽어가면서 수행할 수 있도록 준비해 놓아야 한다.

 

이렇게 메모리에 올려진 프로그램 코드 덩어리를 윈도우에서 관리하기 위해서 일종의 고유 식별 번호를 부여하는데, 이것이 인스턴스 핸들, HINSTANCE이다. 기본적으로 프로세스를 실행하는 실행파일의 코드를 메모리에 올려놓은 모듈이 하나 있어야 하므로, 실행 파일의 모듈에 대한 인스턴스 핸들을 OS가 어플리케이션 WindMain의 인자로 넘겨주는 것이다.

 

한 프로세스가 여러개의 모듈을 로딩하여 프로그램을 실행하고 있다면 하나의 프로그램이 여러개의 인스턴스 핸들을 할당받아 쓰고 있을 수 있다.(물론 한 개의 모듈을 여러 프로세스가 공유하고 있을 수도 있다.) 대표적인 예가 바로 IE인데, 간단하게 DLL파일 한 개를 쓸 때마다 이 DLL 모듈에 대한 인스턴스 핸들이 한 개씩 생긴다고 보면 된다. 물론 DLL이 한번 로딩되면 다른 프로그램 사이에서 공유된다.

 

한 개의 프로그램에서 HINSTANCE가 한 개만 있는 것이 아니며, 또한 하나의 인스턴스 핸들이 한 개의 프로그램에만 종속되는 것이 아니므로 어떤 프로그램의 출력 대상을 지정하는 데에는 부적적하다는 점을 알 수 있다. 물론, 인스턴스 핸들은 애초부터 화면 출력을 고려햐여 만들어진 식별자는 아니며 단지 프로그램 코드 덩어리를 관리하기 위해 만들어진 리소스이다.

 

윈도우라는 OS에서 화면 출력을 위해 관리하는 리소스가 바로 HWND이다. MㄹSN 메신저 등을 보면 알겠지만 하나의 프로그램이 하나의 창을 사용한다는 보장은 없다. 오히려 99.99%의 프로그램은 한 개 이상의 윈도우로 구성되어 있다. 한 프로그램의 윈도우가 겉보기에는 단일한 대상 영역으로 보일지라도 실제로는 구성요소별로 분리하여 별개의 윈도우로 만들어 각 윈도우는 자기 자신이 맡은 부분에 대한 화면 출력과 사용자 입력만을 담당한다. 자연히 하나의 프로그램에서 사용하는 HWND 타입의 개체 역시 1개 이상이 될 수 밖에 없으며, 이러한 상황에서 특정 위치에 특정한 동작을 수행하기 위해서는 HWND로 대상 영역을 구분할 수 밖에 없다.


네이버 블로그
외계어라능




책에는

HINSTANCE란 실행중인 프로그램을 칭하는 용어이고, 프로그램 자체를 일컫는 정수값이다.
HWND는 윈도우를 대표하는 번호이며 이 윈도우를 참조하는 모든함수의 인수로 사용된다.

실행중인 프로그램이 윈도우 아님?

윈도우번호 = 실행중인 프로그램 정수값

차이점을 모르겠다능

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
236118 수z횽 [2] 허허허허(222.99) 11.02.26 65 0
236117 쿄스케횽.. [6] 허허허허(222.99) 11.02.26 72 0
236116 허허허허 형 봐... [2] 쿄스케갤로그로 이동합니다. 11.02.26 79 0
236114 최근에 컴퓨터를 새로 맞췄거든 ∫ 2t dt=t²+c갤로그로 이동합니다. 11.02.26 82 0
236113 어떻게 횽들.............ㅠㅠㅠ [12] 허허허허(222.99) 11.02.26 189 0
236112 컴돌이는 봄니다. [2] 생각놀이갤로그로 이동합니다. 11.02.26 118 0
236111 솔까 GDI로 구현하는 것도 불가능한 일은 아니다. [1] 생각놀이갤로그로 이동합니다. 11.02.26 155 0
236109 요긴 좆뉴비가 질문해도 잘 받아줌? ㅠㅠ [1] 늅늅늅늅ㅠㅠ(24.193) 11.02.26 62 0
236108 형들 내가 아이폰 어플 만들어 보려고 해킨토시를 받았는데.. [4] 수Z갤로그로 이동합니다. 11.02.26 178 0
236107 이번 방학은 그냥 날렸네........ [2] 뇌자알갤로그로 이동합니다. 11.02.26 122 0
236106 알까기에서 공 움직이는 방향은 어떻게하죠??? [19] 컴돌이(58.77) 11.02.26 217 0
236105 저 밑에 빌드넘버 가지고 뭐라고 하시는분이 계신데... [2] Rei@디씨갤로그로 이동합니다. 11.02.26 109 0
236104 어휴 덕후냄새 Rei@디씨갤로그로 이동합니다. 11.02.26 143 0
236103 프갤에 덕짤 유포하지말고... [1] SODmaster갤로그로 이동합니다. 11.02.26 97 0
236102 직장에서 프로그래머 되는거 .. [1] ㅇㅇㅇ(61.43) 11.02.26 132 0
236101 님들 엑셀에서 행과 열 개념좀쎄워주십시오 ㅠㅠ [8] 1(222.234) 11.02.26 374 1
236099 어..엄마 이 홈페이지 뭐야 무서워 [7] vF(125.128) 11.02.26 188 0
236098 [덕짤] MS 이 씹새들 어디서 사기질이야... [2] 뻘글(121.182) 11.02.26 161 0
236097 형들 나 이거좀 해석 해줘? ㅇㅇ(61.43) 11.02.26 43 0
236096 어제 웹해킹에 대해 읽어봤는데 SQL 인젝션 말이야.. [14] 수Z갤로그로 이동합니다. 11.02.26 284 0
236095 덕짤 고르고 골라봄. [3] new gay[max]갤로그로 이동합니다. 11.02.26 167 0
236094 [19금]프갤 수Z갤로그로 이동합니다. 11.02.26 198 1
236093 학원등록했는데 자바를 3주만에 끝낸다네 ㄷㄷ;; [6] ㅁㄴㅇ(124.28) 11.02.26 269 0
236091 [덕짤]나도 질수업뜸 [1] 꿀레(14.33) 11.02.26 131 0
236090 프로그래밍 하기 싫어지는 순간... [1] 천재플머(175.196) 11.02.26 157 0
236089 경우? [4] ㅇㅇ(121.133) 11.02.26 163 0
236088 형들 이거 큰일임 쫌도와주긔 [1] arx갤로그로 이동합니다. 11.02.26 96 0
236087 요즘 프갤은 참 좋은거같다 [2] ㅁㅇㅁ(211.117) 11.02.26 161 0
236085 횽들 이력서같은 거 쓸때 알바경력도 쓰는거야??? [1] 456(121.168) 11.02.26 124 0
236084 잠 잘때쯤엔 오만가지 생각이 다난다 [2] 허허벌판갤로그로 이동합니다. 11.02.26 86 0
236083 오 복합기가 왔군요 계백(61.255) 11.02.26 45 0
236082 비쥬얼2008익스프레스의 컴파일러 경로가 어떻게 되나요.ㅜㅜ [5] 컴돌이(58.77) 11.02.26 83 0
236081 으아앜 모르겠다 [7] 꿀레(14.33) 11.02.26 124 0
236080 델파이랑 비주얼베이직으로 좋은 게임을 만들수 있나요? [5] 어둠이(118.176) 11.02.26 220 0
236079 ㅋㅋ 읽어봐줘 [14] 요술뱃살갤로그로 이동합니다. 11.02.26 157 0
236078 안들오이드 개발 시작 [7] ㅋㅋ(121.161) 11.02.26 197 0
236077 오늘 다이어트약오네 [2] 계백(61.255) 11.02.26 77 0
236076 안들오이드 개발 시작. [4] 요술뱃살갤로그로 이동합니다. 11.02.26 113 0
236074 언니들, 패턴중독을 너무 두려워하지 마세요 [8] 세브(222.239) 11.02.26 270 0
236073 허망, 허탈 [3] 땡칠도사갤로그로 이동합니다. 11.02.26 168 0
236072 크고작은게 어딨냐 김늅늅형 [2] 크고작은게뭐(203.243) 11.02.26 81 0
236071 엑셀에서 10진수->2진수->반전값 하는법 도와주세요~ [4] 이진수(222.111) 11.02.26 901 0
236070 아침짤 [1] 땡칠도사갤로그로 이동합니다. 11.02.26 134 0
236069 제이쿼리를 종나게 잘해서 플래셔를 잣발라버리는거야. [4] 계백(61.255) 11.02.26 146 0
236068 학점 나쁘다고 군대가는 인간들 마음이 이해가 간다 [5] 땡칠도사갤로그로 이동합니다. 11.02.26 274 0
236067 머리가 복잡할때 덕짤을보면서 식힌다 [3] ㅁㅇㅁ(211.117) 11.02.26 175 0
236066 그르고 보니 프갤 3년차인데... [9] SODmaster갤로그로 이동합니다. 11.02.26 206 0
236064 형들 팩토리얼코드인데 [13] %d(121.175) 11.02.26 321 0
236063 정보처리 없으면 진짜 좁밥취급당함?? [12] 어커컹(175.193) 11.02.26 252 0
236062 진로가 컴퓨터쪽인데요ㅜㅜ [8] 래댁갤로그로 이동합니다. 11.02.26 171 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2