2010/12 (1) 썸네일형 리스트형 WM_DISPLAYCHANGE 메시지는 중첩 될 수 있다. 윈도우 해상도가 변경되거나 칼라비트가 변경되면 모든 Top-Level 윈도우에 해당 메시지가 전송됩니다. 이때 wParam에는 칼라비트가 그리고 lParam에는 변경된 해상도 값이 인자로 넘어옵니다. 윈도우7에서 테스트해보니 wParam, lParam에 항상 0가 오더군요. 아무튼 이때 GetSystemMetric() 함수로 해상도나 비트 값을 얻어서 사용하면 되기 때문에 큰 문제는 아닙니다. 문제는 이 메시지가 중첩되서 오는 경우가 있다는 겁니다. 즉 해당 메시지를 처리하는 로직이 끝나기도 전에 다시 해당 메시지가 들어오는 경우가 있습니다. 전체화면 모드 게임 실행중에 Alt+Tab 키를 눌렀을때가 이에 해당합니다. 프로그래밍을 하다보면 로직 처리에 대한 어려움보다 이러한 동기화적인 문제로 발생하는 버.. 이전 1 다음