Щелкните Отслеживание приложений Windows.

Мне интересно собирать показатели использования для приложения, которое я не писал и не контролировал. Это приложение работает в Windows.

Мой план для этого состоит в том, чтобы зарегистрировать глобальный хук окон для событий мыши и клавиатуры и записать эти события для окон, которые имеют заранее определенные заголовки или другие идентифицируемые атрибуты.

Используя эти данные, я надеюсь, что смогу определить, как пользователь использует рассматриваемое приложение. Какие кнопки они нажимают и когда, а также общие рабочие процессы. И т.п.

Есть мысли по поводу этой идеи? Существуют ли сторонние продукты или библиотеки, которые облегчат эти решения, которые не требуют модификации существующего приложения?


person RMD    schedule 30.03.2012    source источник


Ответы (1)


Я предполагаю (надеюсь), что это для чего-то вроде экспериментов с удобством использования, а не для гнусных целей.

Подход, который вы изложили, кажется разумным. Недостатки глобального перехвата:

  1. Это бремя для каждого процесса, так как ваш код ловушки будет внедрен в каждый процесс.
  2. Он может столкнуться с барьерами безопасности. Например, если вы подключаетесь из приложения со средним уровнем целостности, я не думаю, что вы сможете подключиться к приложению с высоким уровнем целостности. Кроме того, вы, по сути, создаете кейлоггер, поэтому не удивляйтесь, если какое-то приложение для защиты от вредоносных программ пометит вас как возможное шпионское ПО.
  3. Вам может понадобиться 64-битная версия и 32-битная версия.

Один из способов уменьшить влияние, которое вы оказываете на машину, — это использовать более целенаправленный хук: найти конкретный процесс, который вас интересует, перечислить его потоки и перехватить только их.

Spy++, инструмент разработчика для отслеживания сообщений Windows, делает многое из того, что вам нужно, но я не уверен, сможете ли вы использовать его для своих целей. Я не знаю никаких других инструментов или фреймворков для такого инструментария.

person Adrian McCarthy    schedule 02.04.2012
comment
На самом деле я искал альтернативы, такие как MSAA и библиотеки автоматизации пользовательского интерфейса. В Windows SDK v7.1 есть набор инструментов, которые показывают, что возможно, и, кажется, это более или менее то, что мне нужно. - person RMD; 04.04.2012
comment
@RMD: я должен был подумать об этом. Доступность часто хороша для тех вещей, которые люди превращают в крючки. - person Adrian McCarthy; 06.04.2012