프레임워크 애플리케이션은 CWinApp 클래스의 Run 멤버 함수에서 대부분의 시간을 보냅니다. 초기화 이후, WinMain는 메시지 루프를 처리하기 위해 Run를 호출합니다.
Run 는 메시지 루프를 순환하여 메시지 큐에서 사용 가능한 메시지를 확인합니다. 메시지가 있는 경우 Run에서 작업을 위해 디스패치합니다. 사용할 수 있는 메시지가 없는 경우(이는 종종 true입니다), Run는 사용자나 프레임워크가 유휴 시간 동안 필요한 처리를 수행하기 위해 OnIdle을 호출합니다. 메시지가 없고 유휴 처리가 없는 경우 애플리케이션은 문제가 발생할 때까지 기다립니다. 애플리케이션이 종료되면 Run가 ExitInstance을 호출합니다.
OnIdle 멤버 함수의 그림은 메시지 루프의 작업 시퀀스를 보여 줍니다.
메시지 디스패치는 메시지 종류에 따라 달라집니다. 자세한 내용은 프레임워크의 메시지 및 명령을 참조하세요.