ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PeekMessage()
    Windows Programming/Win32API 란? 2022. 3. 24. 20:34

    메시지 루프에서 제일 중요한 함수는 메시지를 가져 오는 GetMessage함수이다.

    이 함수는 메시지 큐에서 메시지를 가져오는데 메시지가 없으면 새로운 메시지가 전달될 때까지 리턴하지 않는다.

    즉 메시지가 없을 경우 무한 대기한다.

     

    만약, 메시지 큐에 메시지가 없을 경우 다른 작업을 하고 싶다면(유휴 시간)

    (게임 프로그래밍을 하기위해선 이 유휴시간을 잘 활용을 해야 하기때문에 PekkMessage()함수는 중요하다)

     

     

    PeekMessage()는 메시지 큐에 메시지가 없더라도 즉각 리턴한다.

     

    리턴값이

    TRUE 이면 메시지가 있다는 뜻

    FALSE 이면 메시지가 없다는 뜻

     

    우리는 PeekMessage()로 유휴시간(idle time)을 활용 할수 있다.


     

     

    유휴시간을 활용하여 윈도우에 점을 찍는 프로그램

    if()구문

    들어온 메시지가 WM_QUIT이면 break를 걸어 탈출 시키고 아니라면 DispatchMessage()를 통해 처리를 한다.

    여기 까지는 GetMessage()와 같다.

    else구문

    메시지가 들어오지 않았다면 else구문이 실행 된다. 즉, 유휴 시간이 발생

    우리는 유휴 시간동안 윈도우에 점을 찍는다.

     

    유휴 시간동안 찍힌 점들

     

    'Windows Programming > Win32API 란?' 카테고리의 다른 글

    DC와 무효화 영역  (0) 2022.03.28
    윈도우 핸들(HWND)  (0) 2022.03.20
    WinMain과 프로시저,메시지큐  (0) 2022.03.18
    win32api란?  (0) 2022.03.11

    댓글

Designed by Tistory.