Некоторое время назад что-то странное начало происходить, когда при нажатии Ctrl или Alt Gr фокус меняется. Я нашел несколько ресурсов, которые не касаются того, как найти фактический процесс, а скорее как блокировать приложения от этого, что не кажется хорошим решением.
Опять же, я на самом деле исследовал и не нашел ничего, кроме как взломать актуальную проблему, это не дубликат.
Я подготовил небольшое приложение, которое определяет, когда фокус меняется. Насколько я могу судить, это происходит во всех установленных мной приложениях. Ниже приведена копия окна вывода Visual Studio (с запущенным приложением):
Как я воспроизвел проблему:
- Вручную сфокусировал Окно Блокнота (появился журнал № 1).
- Нажал Ctrl, и журнал, связанный с потоком, и журнал № 2 обнаружились.
Содержание окна вывода:
1 - Оконная ручка: 723652 | Процесс: блокнот | Окно: Без названия - Блокнот | Exe-файл: C:\Windows\system32\notepad.exe Поток 0xafc завершился с кодом 259 (0x103). 2 - Оконная ручка: 526994 | Процесс: блокнот | Окно: Без названия - Блокнот | EXE-файл: C:\Windows\system32\notepad.exe
Что я пробовал:
- После потери фокуса нажмите ALT + F4, пытаясь закрыть процесс. [прежде чем придумать приложение].
- Использовал Process Explorer, чтобы попытаться идентифицировать процесс (но, поскольку я не могу закрыть его, никакой помощи нет)
Что я думаю, что это происходит:
- Поскольку, когда возникает проблема, никакой другой процесс не получает фокус, он должен присвоить ему нулевое значение и переназначить старому окну, даже если он фактически не восстанавливает фокус, но в соответствии с приложением это делает; то есть: граница закрашена серым, и я не могу взаимодействовать с окном, пока я не нажму на него снова, хотя он должен быть снова сфокусирован.
Что я могу сделать, чтобы идентифицировать процесс, а не просто помешать приложениям изменить фокус?