본문 바로가기

Win32 API3

[WIN32 API]기본 class 작업 기본 class 작업 저번에 정리한 API 코드를 class화 하는 작업입니다. 일단 코드를 먼저 보도록 하겠습니다. class C_MYWIN { private: HINSTANCE m_hInstance; HWND m_hWnd; private: static C_MYWIN *m_pMyWin; public: static void createWin(); static C_MYWIN *getWin(); static void releaseWin(); private: C_MYWIN(); static LRESULT CALLBACK wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK myProc(HWND hWnd, UINT mes.. 2018. 4. 25.
[WIN32 API]HINSTANCE와 자료형 의미 설명 프로그램의 HANDLE을 의미한다. 사용자가 만드는 것이 아니라 프로그램 시작할 때 운영체제가 제공해 준다. 윈도우 운영체제에서 실행되는 프로그램들을 구별하기 위한 ID값을 의미한다. window Handle과 instance는 백업을 하고 사용한다. HINSTANCE 핸들은 보통 실행되고 있는 Win32 프로그램이 메모리 상에 올라가 있는 시작 주소 값을 갖고 잇습니다. wWinMain()에서 한 번 들어오는 값으로 값을 저장해서 사용합니다. 객체 지향 프로그래밍(OOP)에서 인스턴스(instance)는 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다. 즉, 메모리에 올라가 있는 실체를 의미한다. 프로그램의 시작 주소값을 의미한다. WCHAR 16bit 유니코드 문자 집합입니다. (1바.. 2018. 4. 25.
[WIN32 API]기본 API 정리 및 코드 설명 API visual studio 2017에서 Windows 데스크톱 응용 프로그램을 선택하고 프로젝트를 생성하면 기본 API 코드가 작성되어 있는 프로젝트를 생성합니다. 하지만 이 기본 프로젝트 코드가 보기 힘들기 때문에 정리를 하는 과정이 필요합니다. 정리를 하면 다음과 같은 코드가 되고 실행하면 아무 기능 없는 기본 윈도우 창을 띄어줍니다. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(h.. 2018. 4. 25.