Я пишу скрипт (на С#, но почти все обрабатывается с помощью pinvoke), который находит дескриптор окна под указателем мыши и позволяет пользователю выполнять над ним некоторые действия (в первую очередь функциональность, связанная с пользовательской ограниченной привязкой к окну).
Я довел его до того, что он работает очень хорошо! Он может перемещать рабочий стол и панель задач. Это, конечно, то, чего я на самом деле не хочу. Я хочу, чтобы он работал только с окнами, созданными пользователем; такие как Chrome, Word, Блокнот или Teams.
Есть ли какое-нибудь удобное описание, на которое я могу взглянуть? Я пытался смотреть на стили окон или PID, но я не вижу очевидного шаблона того, как определить, что это «окно» принадлежит оболочке Windows.
Я понял - я проверил, принадлежит ли дескриптор окна explorer.exe
, но это не работает, поскольку не позволяет пользователю перемещать обычные файловые браузеры.