VC++에서 무한루프 중에 키입력 방법
그댸와나
2025.03.25
TC나 VC에서도 콘솔프로그램에서는 무한루프안에서도 kbhit()를 사용하여 간단히 키입력이 후 Break로 탈출이되는데
VC MFC에서는 kbhit()가 완전 먹통이 되어 버리네요.
VC 에서는 WM_KEYDOWN을 쓰는 거야 알겠지만 무한루프로 수행하는 중에는 방법을 못 찾겠네요.
키입력 자체가 전체 프로그램을 돌려야 처리되는 시스템으로 밖에 해석이 안되어
일부분만 수행하는 무한루프에서는 방법을 발견할 수 없어 고수님들께 질문드립니다.
가능하면 구체적으로 알 수 있었으면 합니다.
-
해가빛 2025-03-25
아니면 키눌림 감지 부분만 쓰레드로 처리하면 어떨까도 시도해 보는데 이거도 영 감이 안 잡히네요.
-
겨라 2025-03-25
감사합니다. 문제는 무한루프 부분 회전속도가 일정하고 빨라야 하는데 전체 프로그램 때문에 매무 지연된다는 점입니다. 타이머로 무한루프 부분을 대신하여 일정하게 계속 반복하게 하여 해결은 했는데, 속도가 너무 지연되기 때문에 무식한 무한루프를 사용하고 거기서 탈출 법을 모색하는 중입니다. 콘솔프로그램에서는 kbhit()가 먹히니 이것과 연계하는 방법은 없나도 생각해 보는데 특히 VC는 초보라 영 ^^;
-
한말글 2025-03-25
가장 좋은 방법은 무한루프로 처리하는 부분은 쓰레드로 만들면 되겠죠. 그리고, 키가 눌리면 WM_KEYDOWN 메시지가 발생합니다. 쓰레드로 처리해보세요.