Femistoklov, Проблема в том, что исследование на истории может привести к т.н. подгонке. Хотя, никто не отменял адаптацию (правда, она обычно запаздывает).
Есть очень серьёзное возражение против беззнаковых целых, т.к. при вычитании разных типов можно получить неожиданный результат. Кроме того (зависит ещё от языка), однобайтные целые всё равно приводятся к четырёхбайтным.
Известно другое: переменную цикла делать локальной.
Так xmoonlight же написал. Только сервисом делать не обязательно (мы это делали, т.к. легко было привязаться к запуску базы данных, у служб есть настройка зависимостей). Сама программа запускалась невидимой, только значок внизу справа. Опции: открыть окно, выйти по паролю.
В обработчике закрытия учитывалось введена команда закрытия через меню или по нажатию крестика (в последнем случае окно просто делалось невидимым)
Естественно, можно убить процесс через диспетчер задач.
компьютер