Для самого окна используйте прозрачное окно без полей (множество примеров) с собственным настраиваемым видом для рисования наложенных элементов.
В части «окна других приложений» нет общедоступного API, который бы позволил вам сделать это плавно. Вы используете Universal Access и его API определения местоположения / навигации, но он требует, чтобы ваши пользователи включили «Включить доступ для вспомогательных устройств» (я думаю, что это все еще нельзя сделать программно). Я не верю, что это «дает вам знать», когда окно движется, но я могу ошибаться. Если это произойдет, то, скорее всего, это будет однократная попытка «вот где я сейчас», так что ваш оверлей, скорее всего, не поспевает. Я также не думаю, что он дает вам «уровень окна», чтобы вы были уверены, что вы «выше» любого данного окна / листа / палитры.
Единственный вариант (для перемещения с окнами других приложений) является общесистемным, инвазивным взломать л Application Enhancer (что весьма спорно). Легко ошибиться и дестабилизировать систему пользователя (отсюда и противоречия).