01/10/2018, 00:51

Phát hiện phím nhập vào trong suốt thời gian chạy chương trình

Em đang lập trình C/C++, yêu cầu đặt ra là khi một chương trình đang chạy (với khoảng thời gian chạy đủ lớn) cho phép dừng chương trình khi phát hiện người dùng nhấn 1 phím bất kì, và cho phép chương trình tiếp tục chạy khi người dùng nhấn tiếp 1 phím nào đó nữa.
Em định dùng getch( ) đi kèm với system("pause") để bắt sự kiện nhập, nhưng nếu thế thì phải quăng getch( ) vào mọi chỗ trong chương trình?

Mọi người có thể cho em hướng giải quyết được không ạ?
Cảm ơn mọi người đã quan tâm.

Văn Dương viết 02:56 ngày 01/10/2018

Cho nó sang luồng khác

明玉 viết 02:53 ngày 01/10/2018

Bạn tạo ra 2 thread, một thread A là thread chính của bạn, thread B dùng để nhận tín hiệu bàn phím, khi nhận rồi thì thread B gửi tín hiệu cho thread A để thread A tạm dừng, nhận tiếp nhấn phím thì gửi tín hiệu cho thread A chạy lại.
Bạn nên thiết kế thread A theo kiểu iteration để nhận tín hiệu dễ dàng.

yoloh3 viết 03:01 ngày 01/10/2018

Dùng thread.
Hoặc hàm GetAsyncKeyState(key): bắt sự kiện key được nhấn tại thời điểm bất kì

Bài liên quan
0