ActiveWindowWatcher – бесплатная программа для ведения лога активных окон

July 18th, 2008 Begemot Posted in Программирование

Вчера на меня вдруг напал приступ трудоголизма, и я для внутренних целей написал небольшую программку для мониторинга и ведения лога активных окон (GetForegroundWindows). Возможно она может пригодится еще кому-нибудь кто пишет “специфические” приложения, типа вставлялок текста🙂 Итак:

 

ActiveWindowWatcher -  бесплатная программа для ведения лога активных окон.

Использование:

 
Существуют два режима работы:
1. Автоматическое логирование – окно проверяется по таймеру каждые 50 миллисекунд
2. Ручное – информация об активном окне читает по нажатию горячих клавиш ctrl+shift+p
 
В обоих режимах если текущее активное окно, тоже что и в прошлый раз, новая строчка в лог не добавляется.

Более подробно в Readme.txt

Программа была написана для себя и быстро,  так что без особых наворотов\фич, проблему помогла решить ну и ладно:) Если будет интерес народа,  возможно доработаю до чего-то более юзабельного.

Если что добро пожаловать с комментариями.

Скачать ActiveWindowWatcher

p.s. Программа написанна с использованием wxWidgets

Related:

21 Responses to “ActiveWindowWatcher – бесплатная программа для ведения лога активных окон”

  1. смотрю так никого эта идея не заинтересовала…

    а меня очень интересует исходный код данного решения если автор не против.

  2. зачем?:)

  3. интересует алгоритм сбора окон

  4. А чем классический EnumWindows() плох?

  5. Алгоритм сбора окон приметивен, фактически вся функциональность программы это мой “фреймворк” + 2 процедуры которые собственно и делают всю работу.
    Сорцы все проги не дам, а вот этими двумя основными процедурами могу поделится.

  6. буду признателен
    в принципе меня интересует цикл поучения данных даже в саму переменную, так как при Вашем алгоритме проц практически не грузится

    а те варианты выдачи верхнего окна на WinApi что я находил, при вставке в цикл – грузили проц ~90%

    спасибо за помощь

  7. У меня пример с мсдн, доработанный напильников в результате практики, сейчас вышлю на мыло as is

  8. спасибо за код, было позновательно, но попалась на глаза Ваша еще одно програмка – логирование буфера обмена. хорошая реализация, исходник тянет на платный, поэтому спрошу про общие моменты. если я правильно понял то там используется база для хранения sqlite с криптованием. у меня вопрос к реализации (sqlite или wxsqlite)?

  9. 🙂 А с какой целью спрашиваете?:)
    sqlite + databaselayer, и без криптования.

  10. просто пытаюсь откомпилить wxsqlite а не получается, вот и думал если у Вас этот вариант – напроситься на помощь…

  11. странно, мне sqlite manager говорит что база криптована…

  12. я имею ввиду базу программы clipdiary

  13. wxsqlite не использовал, не знаю почему sqlite manager так думает, но wxSQLitePlus ее нормально открывает. И вообще здесь это оффтопик 🙂

  14. Спасибо разработчику! Очень полезная программа, я думаю есть смысл ее доработать до коммерческой версии. Лично мне она помогает подсчитать рабочее время, еще бы хотелось бы в ней видеть сохранение, хотя бы в xls, и регистрацию простоя (допустим бездествие мыши и клавы) и скринсейвера.

  15. :))
    Есть куча коммерческих и бесплатных программ ГОРАЗДО больше подходящих для трекания времени… есть смысл взять их.

  16. Спасибо большое за подсказку, трекинг принес гараздо больше результатов гугленя, и я нашел то что искал!!! Дороговато правда, но не задумываясь заплатил, уж больно нужная вещь когда прыгаешь между окнами весь день, и не поймешь на какой проект потратил день.

  17. Да, их и бесплатных полно…
    вот TimeTracker например, но это веб сервис.

  18. Я нашел WorkTime, там целая куча настроек как я хотел, можно правила создавать по проектам и пауза по скринсейверу и не активности, и отчеты приятные! Сделали как для себя с пониманием проблемы! Находил тормозящие и использующие внешние базы. Ну и такая мелочь, как на русском языке.

  19. Спасибо, помогла быстро и просто найти редиску, ворующую фокус.

  20. Спасибо Вам за программу, но мою проблему она всё равно не решила:
    у меня Windows 7. Несколько раз за 10-15 мин. самопроизвольно фокус окна (активность окна программы в которой я работаю: броузер, Word? Excel и т.д.) пропадает. Гугуление говорит по этой проблеме только проверить на вирусы и выправить автоматически реестр. Всё сделал, да ещё и разными программами. ПРоблема осталась. Привожу ниже лог строчек таких моментов (в хронологическом порядке). Сам момент Ваша программа-то фиксирует, а вот пишет только цифры напротив. Поэтому я не могу понять,ч то за процесс ворует фокус окон.
    Помогите, пожалуйста, проблему решить, так как переустановка системы у меня очень тяжёлая тема, так как с трудом кучу нужных программ установил и после переустановки буду ещё месяц мучаться.
    Пример лога таких моментов:
    003. 57:03:433 Not a valid window – (3343038)
    003. 59:18:202 Not a valid window – (3474110)
    003. 03:52:281 Not a valid window – (3539646)
    004. 03:59:394 Not a valid window – (3605182)
    003. 05:48:470 Not a valid window – (3670718)
    005. 05:56:085 Not a valid window – (3736254)
    003. 06:59:359 Not a valid window – (3801790)

  21. Not a valid window – намекает на то что окно появилось получило фокус и тут же было уничтожено, думаю так. Хотя может ошибаюсь – попробуйте запустить программу от имени администратора, может ей прав под семеркой не хватает. Или еще можно попробовать найти Microsoft Spy++ и посмотреть в ней по хендлу окна (цифры в скобочках) что это вдруг получится.

    Ну и подумать после чего проблема появилась – может что-то абсолютно нормальное, но кривоватое поставили.