Форум программистов, компьютерный форум CyberForum.ru

Кто нибудь делал прогу "Эмулятор клавиш с промежутком времени между "нажатиями""? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ структура http://www.cyberforum.ru/cpp-beginners/thread100748.html
здорово вем это снова я =) помогите написать структуру там про автобус : маршрут, время прибытия, интервал времени, и т п с добавлением и удалением короче не знаю, ничего не понимаю
C++ clrscr, gotoyx, textcolor в Visual C++; Почему не работают функции clrscr(), gotoyx(), textcolor() в Visual C++? В борланд с++ билдере работали, а тут нет( http://www.cyberforum.ru/cpp-beginners/thread100740.html
C++ как решить такое
Напишите программу, в которой создайте два класса plane и helicopter. Причем должны быть созданы закрытые переменные: скорость, грузоподъемность, расстояние, которое пролетел plane/helicopter. Сравнить, какой из них более быстрый, который имеет большую грузоподъемность, а также определить который из них более старый. Отобразите результаты сравнения в виде строк. Создайте встроенные конструкторы с...
Динамические структуры. Для чего они? C++
Прошли вчера в вузе динамические структуры, и пока только один вид - очередь. Но я так и не понял для чего они нужны и с какой целью их можно применять? Кто-нибудь может объяснить?=))
C++ алгоритм обращения матрицы http://www.cyberforum.ru/cpp-beginners/thread100725.html
как обратить вот такую матрицу? for (i=0;i<=v-1;i++) { for (j=0;j<=h-1;j++) { cout<<"a="; cin>>a; } cout<<"\n"; }
C++ Лабораторная работа Здравствуйте! Условие: Передача данных по линии связи ограничена скоростью X Кб/c. Каждую секунду поступает некоторое известное кол-во байт на передачу. Если в данную секунду данные не передались, то остаток переноситься на следующую секунду. Создать класс устройства передачи, для которого определить метод загрузки данных и метод прохождения секунды. Объект должен знать общее число... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,395
03.03.2010, 08:40     Кто нибудь делал прогу "Эмулятор клавиш с промежутком времени между "нажатиями""?
Даётся мне, с такой точностью этого НИКАК не сделать. Ибо вот здесь читаем:
http://wm-help.net/books-online/book...4-26.html#h1t3

"Меня часто спрашивают, как сделать так, чтобы поток гарантированно запус кался в течение определенного времени после какого-нибудь события — на пример, не позднее чем через миллисекунду после приема данных с последо вательного порта? Ответ прост: никак. Такие требования можно предъявлять к операционным системам реального времени, но Windows к ним не относит ся. Лишь операционная система реального времени имеет полное представле ние о характеристиках аппаратных средств, на которых она работает (об ин тервалах запаздывания контроллеров жестких дисков, клавиатуры и т. д.). А создавая Windows, Microsoft ставила другую цель обеспечить поддержку мак симально широкого спектра оборудования — различных процессоров, диско вых устройств, сетей и др. Короче говоря, Windows не является операционной системой реального времени. "

Далее:
"
  • Вызывая Sleep, поток добровольно отказывается от остатка выделенного ему кванта времени
  • Система прекращает выделять потоку процессорное время на период, пример но равный заданному, Все верно: если Вы укажете остановить поток на 100 мс, приблизительно на столько он и "заснет", хотя не исключено, что его сон про длится на несколько секунд или даже минут болыше Вспомните, Windows не является системой реального времени. Ваш поток может возобновиться в за данный момент, но это зависит от того, какая ситуация сложится в системе к тому времени.
"

А автор говорит о 3 мс!
Тут ещё такая деталь.
Можно было бы попытаться поэксперементировать со всем этим делом. Но автор предполагает работу проги в интерактивном режиме. По-моему это значит, что в момент её работы будут выполняться другие важные проги с активными окнами, коим и будут посылаться эмулируемые сообщения.

Учитывая наличие таких прог-процессов, вне всякого сомнения ВАЖНЫХ и потому занимающих значительную часть процессорного времени расчитывать на точность 3 мс не приходится. Извините.

Добавлено через 5 минут
Подчёркиваю: можно попытаться сделать. Но не 3 мс, это надо понимать.
...И это: не просто же так должны нажиматься клавиши? Какому-то окну должно, наверное слаться сообщение. Это нужно конкретизировать. А то можно сделать так: клавиши периодически нажимаются, но ВПУСТУЮ, понятное дело, тут незачем даже огород городить.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru