A quick and dirty (emphasis on dirty) proof of concept to move open windows around.
Project uses PInvoke to get windows, window positions, and to move them around.
Currently, it only deals with windows for non-modern apps. Modern apps, which can be suspended and hidden are filtered out. I might add code to handle visible modern apps at a later date.
Project can be compiled with Visual Studio (tested with VS 2022). Requires dotnet 6.0.
You can create a self-contained output file that can be run on machines without dotnet 6.0 runtime present.
Windows 10
dotnet publish -r win10-x64 -p:PublishSingleFile=true --self-contained true -c Release
Windows Server
dotnet publish -r win-x64 -p:PublishSingleFile=true --self-contained true -c Release