Кажись тупею. Только с третьего раза дал более-менее внятное название статье )))
Всё началось с того, что супруга начала жить дома не только ночью, но и днём. Управлять скоростью закачки в ручную стало совсем не удобно. И я написал первую и вторую части сего труда. Соответственно, это третья часть. В первой части наметил курс: управляю скоростью, дёргая Alt-Speed и Peer-Count, через transmission-remote. В CRON-е NAS4Free уже есть некоторые задачи на утро и на ночь. Кроме этого, на win-машине, которая в Инет смотрит параллельно серверу, в один интерфейс, буду запускать цикл по проверке активности GUI-пользователя. Именно из этого цикла и будут посылаться команды торренто-качалке на сервере. Во второй части я определился, как именно буду посылать команды с win-машины на сервер - это через SSH. Реализовывать свой RPC протокол, даже имея исходники, дело для меня лично не сильно привлекательное. Ну а эта, третья часть, чуть менее, чем полностью, виндовая. Здесь я хочу сделать замену скрипту из первой части и перенести его функционал на винду.
1. Демона буду делать на С++. Я много недолюбливаю скрипты, в частности под win. А почему буду именно делать? В лом стало разбираться с вызовом API из командной строки. Даже, если, это делать удобно (WinAPIExec).
2. Определение активности GUI-пользователя. Можно оригинально расставить хуки на клаву и мышку, как это успешно сделал Paul DiLascia. Всё прозрачно, понятно и разжёвано на русском. Исходники скомпилировал, проверил - на Win7 работают. Но ощущение велосипеда не покидает. Всёже вернее будет использовать соответствующие API:
При желании продвинуться можно будет почитать Определяем бездействие пользователя в Windows
3. Функционал. Программа будет в почти вечном цикле, назову её демоном, хоть и не разу не служба. Утилита должна уметь подтягивать из файла настроек или реестра следующую конфигурацию:
На данный момент доступна уже вторая версия:WIDLE v.0.0.2 (Static library) на Yandex.Disk
Подробней читать по соответствующему тегу WIDLE
Всё началось с того, что супруга начала жить дома не только ночью, но и днём. Управлять скоростью закачки в ручную стало совсем не удобно. И я написал первую и вторую части сего труда. Соответственно, это третья часть. В первой части наметил курс: управляю скоростью, дёргая Alt-Speed и Peer-Count, через transmission-remote. В CRON-е NAS4Free уже есть некоторые задачи на утро и на ночь. Кроме этого, на win-машине, которая в Инет смотрит параллельно серверу, в один интерфейс, буду запускать цикл по проверке активности GUI-пользователя. Именно из этого цикла и будут посылаться команды торренто-качалке на сервере. Во второй части я определился, как именно буду посылать команды с win-машины на сервер - это через SSH. Реализовывать свой RPC протокол, даже имея исходники, дело для меня лично не сильно привлекательное. Ну а эта, третья часть, чуть менее, чем полностью, виндовая. Здесь я хочу сделать замену скрипту из первой части и перенести его функционал на винду.
1. Демона буду делать на С++. Я много недолюбливаю скрипты, в частности под win. А почему буду именно делать? В лом стало разбираться с вызовом API из командной строки. Даже, если, это делать удобно (WinAPIExec).
2. Определение активности GUI-пользователя. Можно оригинально расставить хуки на клаву и мышку, как это успешно сделал Paul DiLascia. Всё прозрачно, понятно и разжёвано на русском. Исходники скомпилировал, проверил - на Win7 работают. Но ощущение велосипеда не покидает. Всёже вернее будет использовать соответствующие API:
LASTINPUTINFO lpi; lpi.cbSize = sizeof(lpi); GetLastInputInfo(&lpi);
При желании продвинуться можно будет почитать Определяем бездействие пользователя в Windows
3. Функционал. Программа будет в почти вечном цикле, назову её демоном, хоть и не разу не служба. Утилита должна уметь подтягивать из файла настроек или реестра следующую конфигурацию:
- TimeOut of Cicle [uint] - частота проверки
- IDLE Time [uint] - честное время простоя
- Command IDLE [string] - команда, выполняемая при честном простое
- Command Active [string] - команда, выполняемая при активности
На данный момент доступна уже вторая версия:WIDLE v.0.0.2 (Static library) на Yandex.Disk
Подробней читать по соответствующему тегу WIDLE
Комментариев нет:
Отправить комментарий