본문 바로가기
게임 공부/Windows API

HINSTANCE 타입과 HWND 타입의 차이

by woohyeon 2020. 6. 12.
반응형

개인적으로 공부하는 내용으로, 틀린 부분이 있을 수 있습니다. 틀린 부분을 발견하시면 알려주세요 :)

 

HINSTANCE 타입은 보통 애플리케이션(프로그램)의 인스턴스(핸들)라고 한다. 혹은 독립적인 개체인 모듈의 시작 주소라고도 한다. 인스턴스란 하나의 고유한 프로그램을 나타내는 운영체제가 부여하는 고유한 주소값이라 생각하면 된다. GetModuleHandle() 을 통해 얻을 수도 있고, WinMain 엔트리 포인트를 사용할 시 운영체제가 인자로 넘겨주기도 한다. 메모장이라는 한 종류의 프로그램을  2개이상 띄울 수 있는데, 이러한 모든 창은 모두 동일한 인스턴스 값을 가진다. 

MSDN

 

HWND 타입은 윈도우 핸들이라는 뜻으로 운영체제가 자원에 할당하는 값이다. 핸들은 프로그램 내의 1개 이상의 윈도우(창)을 식별하는 데 사용된다. 따라서 윈도우에 대한 처리를 할 때 주로 사용된다. 윈도우 핸들은 CreateWindow()를 통해 생성이 가능하다. 메모장을 2개 이상 띄울 경우 모든 창은 서로 다른 핸들 값을 가진다.




댓글