창 클래스 등록

창 클래스 스타일, 아이콘, 커서, 메뉴 및 창 프로시저와 같은 윈도우의 특성을 정의 합니다. 창 클래스를 등록 하는 첫 번째 단계는 창 클래스 정보와 WNDCLASSEX 구조에 채우는 것입니다. 자세한 내용은 창 클래스의 요소를 참조 하십시오. 그런 다음 구조 RegisterClassEx 함수에 전달 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. 창 클래스 사용.

응용 프로그램 전역 클래스를 등록 하려면 WNDCLASSEX 구조의 스타일 멤버에서 CS_GLOBALCLASS 스타일을 지정 합니다. 응용 프로그램 로컬 클래스를 등록 하는 경우 CS_GLOBALCLASS 스타일을 지정 하지 않으면.

RegisterClassEx, RegisterClassExA, ANSI 버전을 사용 하 여 창 클래스를 등록 하는 경우 해당 응용 프로그램이 요청 하는 ANSI 문자를 사용 하 여 만든된 클래스의 창 메시지의 시스템 패스 텍스트 매개 변수 설정; RegisterClassEx, RegisterClassExW의 유니코드 버전을 사용 하 여 클래스를 등록 하는 경우 응용 프로그램이 요청 시스템 유니코드 문자 집합을 사용 하 여 만든된 클래스의 창 메시지의 텍스트 매개 변수를 전달 합니다. IsWindowUnicode 함수를 통해 응용 프로그램 각 창의 특성을 쿼리 합니다. ANSI 및 유니코드 함수는 Win32 API에 대 한 자세한 내용은 참조 하십시오. Win32 함수 프로토타입.

실행 파일 또는 DLL 클래스를 등록 하는 클래스의 소유자. 시스템 클래스를 등록 하는 경우 RegisterClassEx 함수에 전달 하는 WNDCLASSEX 구조체의 hInstance 멤버에서 클래스 소유권을 결정 합니다. Dll DLL의 인스턴스 핸들 되어야 hInstance 회원 해야 합니다. .

Windows 95: 클래스 소유자를 닫거나 언로드될 때 소멸 됩니다. 이러한 이유로, 프로세스 소유자를 닫습니다 또는 로드 하기 전에 클래스를 사용 하 여 모든 창을 파괴 해야 한다.

Windows NT: 그것을 소유 하 고 DLL이 언로드될 때 클래스를 파괴 하지는. 따라서, 해당 클래스의 창에 대 한 창 프로시저를 호출 하는 시스템, 창 프로시저를 포함 하는 DLL은 메모리에 더 이상 있기 때문에 액세스 위반이 발생 그것 합니다. 프로세스에서 DLL 언로드되기 전에 클래스를 사용 하 여 모든 창을 파괴 하 고 UnregisterClass 함수를 호출 해야 합니다.

 

Index