본문 바로가기

WinAPI] First 예제 해석(메시지 처리 루프) 0. 설명 -윈도우즈는 메시지 구동 시스템(Message Driven System)이다. -메시지 구동 시스템이란 정해진 순서가 아니라, 발생한 이벤트 메시지(키보드 입력, 마우스 클릭 등)에 따라 관련된 일 처리를 진행하는 방식을 뜻한다. -이러한 메시지 처리를 담당하는 것이 메시지 루프이다. 1. 구성(메시지 처리 루프) while(GetMessage(&Message, NULL, 0, 0)){TranslateMessage(&Message);DispatchMessage(&Message);} 1)GetMessage BOOL WINAPI GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax) -메시지 큐에서 메시지를 읽어들임. .. 더보기
윈도우] 라이브 리스폰스, 라이브 어퀴지션 0.라이브 리스폰스(Live Response) -시스템이 살아있는 상태(휘발성 메모리 정보가 남아있는 상태)에서 시스템을 조사하는 과정. -같은 의미: 초기 대응(First Reponse), 사고 대응(Accident Response) -UPS(Uninterruptible power supply): 멀티탭의 플러그를 뽑는 등의 행위로 전원이 갑자기 차단될 때 이를 감지하여 전원을 유지한 채, 설정한 사후처리를 진행. (삐삐 소리를 낸다던가, 관리자에게 메일을 보내고 정상 종료과정을 진행한다던가) > 정상종료될 경우, 하드 드라이브의 잠재적인 증거를 덮어쓸 위험이 존재 >>본체 뒤의 플러그를 뽑는 편이 안전! -라이브 리스폰스 도구 >증거의 훼손을 최소화 해야 함 >> 시스템 dll의 사용을 최소화. dl.. 더보기
WinAPI] First 예제 해석(Window 클래스, CreateWindow, ShowWindow) 0. 헤더파일 #include -윈도우즈 프로그래밍에 필요한 대부분의 리소스를 가지고 있다. 1. WinMain int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpszCmdParam, int nCmdShow) APIENTRY: _stdcall을 사용 //중요하지는 않음 -인자 hInstance: 프로그램의 인스턴스 핸들 (대부분 API 함수의 인자로 요구되기 때문에, HINSTANCE g_hInst; 전역변수에 저장해둠) hPrevInstance: 16비트와의 호환성을 위해 존재 // 중요하지 않음 lpszCmdParam: argv 인수와 동일(파일명은 전달되지 않음) nCmdShow: 해당 프로그램의 창 설정값이 전달(.. 더보기