4

Этот вопрос мало чем отличается от предотвращения кражи фокуса приложением, а как узнать, что, черт возьми , крадет фокус?

Это идет так. Я буду что-то печатать в Firefox на Vista (как сейчас). Каждые несколько минут что-то еще крадет фокус. Это не потому, что окно движется на передний план. Это изменение несколько незаметно в окне на переднем плане принимает атрибуты невыбранного окна (например, меню слегка затемнено), но оно наиболее заметно при наборе текста, так как вводимые мной ключи больше не отправляются в это окно. Это также делает это чрезвычайно раздражающим.

Как я могу отследить эту ошибку, чтобы удалить ее?

7 ответов7

4

Попробуйте Sysinternals ProcessExplorer. Это инструмент для замены диспетчера задач, который точно отслеживает каждый маленький всплывающий процесс.

Оставьте его работающим и вернитесь в свое приложение. Когда возникает проблема с Alt-Tab для Procexp, и вы можете поймать то, что привлекает все внимание.

Изменить: Я буквально только что нашел это: Auslogics TaskManager, который почти наверняка поможет вам определить, что происходит, с более интуитивным интерфейсом и множеством более легко доступной информации, чем Procexp.

3

У меня та же проблема, что и у постера. Я попытался Alt-Space, чтобы вызвать меню окна. Это определенно показывает, что есть "скрытое" окно (размером 0x0), которое имеет фокус. Использование параметра меню перемещения для перемещения не показывает, к чему он принадлежит. Попытка выбрать пункт меню Закрыть ничего не дает. Похоже, программа игнорирует событие закрытия окна.

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

Обновление: после того, как это произошло снова, я на самом деле попробовал пункт меню "Свернуть", и вот, это открывается окно веб-браузера AVG Free 9.0. Но почему это скрыто и почему оно захватывает фокус ок. каждые 5-10 минут?

Обновление 2: похоже, у AVG есть решение проблемы. http://forums.avg.com/cz-en/avg-free-forum?sec=thread&act=show&id=41015#post_41015

3

Я использовал отличный Adminscope Focus Logger для этой проблемы. Виновником для меня была какая-то утилита Epson, которая не сделала ничего полезного и выполнялась как запланированное задание.

Просто прочитайте инструкцию и оставьте на некоторое время регистратор фокусировки, чтобы обнаружить программу, которая убирает фокус. Программа работает на XP (и, предположительно, других версиях Windows, таких как Windows 7, 8 и т.д.).

РЕДАКТИРОВАТЬ: и, в отличие от некоторых программ, перечисленных в этой теме, это бесплатное программное обеспечение.

3

Может быть, вы можете попробовать alt+tab и посмотреть, что является первым значком в списке. Если это ноутбук, возможно, вы по ошибке касаетесь сенсорной панели и нажимаете на рабочий стол.

1

Я использовал код на http://archive.msdn.microsoft.com/templeofvb/Release/ProjectReleases.aspx?ReleaseId=18 только сейчас, чтобы найти его.

Для меня это был Google Talk, лабораторный выпуск.

1

У меня тоже была эта проблема, очень раздражающая. Я использовал Auslogics TaskManager и обнаружил там процесс (забудь, как он назывался), который представлял собой видеоплеер для рекламы AIM. Google неизвестно обрабатывает .exe, пока не найдет его, затем удалите его через панель управления.

Я увидел еще одну вещь, и это была функция автоматического запуска Java, в которую нужно войти: кнопка "Пуск", панель управления, Java, вкладка "Дополнительно", "Разное" и UNCHECK "Быстрый запуск Java"

Я сделал эти две вещи, и проблема, кажется, полностью решена :). Кроме того, убедитесь, что вы закрыли AIM и все веб-браузеры перед удалением.

1

Когда приложение захватывает фокус, попробуйте нажать клавишу Windows справа от пробела (контекстное меню). Это может показать контекстное меню, которое может помочь понять, какое приложение крадет фокус.

В противном случае попробуйте alt-F4, который отправляет сообщение о закрытии в окно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .