Используйте только использование прямого ввода при особых обстоятельствах
Цикл сообщений Windows, используемый с getmessage, хорош тем, что он использует 0% использования процессора. Если вы выполняете непроцессорные операции, такие как ожидание ключа от пользователя, сбор данных от пользователя, например, в базе данных, налоговой программе или даже текстовом процессоре, имеет смысл просто использовать сообщение Windows с getmessage. Во всех вышеперечисленных программах дата - это процесс, когда пользователь нажимает клавишу.
Все, что нужно циклу сообщений Windows для обработки ключей, - это переключить эту программу. Мышь даже не обязательно должна находиться в окне.
Особые обстоятельства - используйте прямой ввод
Если вам нужно: 1) знать, когда клавиша нажата и отпущена. Вы также можете не захотеть, чтобы повторяющиеся клавиши определялись как нажатия клавиш.
2) Обработка клавиш в фоновом режиме при переключении на другую программу.
Если одно из вышеперечисленных верно, используйте directinput.
Если вы просто собираете данные от пользователя, вам нужно будет использовать команду sleep, чтобы приостановить выполнение программы. Вы хотите, чтобы программа имела 0% использования процессора в диспетчере задач, если программа просто сидит и ждет ключей от пользователя.
Используйте функцию сна, переводя программу в спящий режим, пока вы не захотите запросить клавиши прямого ввода.
Следовательно, прямой ввод просто тратит время программирования, если вы выполняете простую обычную задачу по сбору ключей от пользователя, как вы можете видеть.
person
rauprog
schedule
27.08.2015