有没有优雅的重置Windows的窗口大小和位置的软件或方法

我是双屏用户,有时候会对调“主显示器”的设置,甚至是临时旋转使用几天,再复原。

在11之前我用的是CCleaner来了重置,效果还比较好,所有程序的任何窗口都可以被重置
Snipaste_2022-03-21_18-15-45

在11上,用了两次,有一些软件没有被重置到。
这时候用系统内置的窗口移动或者PowerToys的功能,也能解决一部分软件


Snipaste_2022-03-21_18-13-57

但蠢如微信,它的消息合并分享窗口就是无法解决位置问题

昨天我对调了双屏的主显示器设置,用CC重置了位置缓存,就微信蠢货没反应。
对调前:


1为主显示器,2为副屏且旋转
对调后:
2为主显,1为副屏且旋转

微信就展现出一些奇怪的姿势
我调整好两个屏幕的相对位置后,分享窗口只露个头,下图中,红框为实际显示位置。

当我把主显位置下移,分享窗口才能完整显示,如下图,不过这时,鼠标移动就不方便了。

以上情况是基于微信程序主窗口放在副屏且位置偏下半部分,才会出现的情况
如果程序主窗口放副屏的上半部分,分享窗口为相对应的上移一大部分
如果程序主窗口放主屏,则分享窗口全部正常显示

有没有经验丰富的大佬能解惑一下
这是Windows的锅还是微信的锅?
当然,标题所求的才是我的主要目的

很多软件都会自己保存窗口位置和尺寸. 以便下次启动时读取.

其实窗口设置位置的软件有很多,例如ZMover、 Actual Window Manager之类。但是对于你这种颠来倒去的玩法,是否有软件可以达到效果,我不肯定。
其实吧,无论两台显示器还是N台显示器,无非是几套常用程序的窗口排布方案,由PID还是进程的其他参数,甚至是标题之类的去定位程序窗口,然后用程序或者脚本自己挂几个切换方案应该就行了。。。。

1 Like

我瞎猜一下:也许微信用了管理员账号启动

主程序窗口控制是没问题的。比较难控制的是微信自己额外弹出来的一些窗口,比如分享的聊天记录,比如微信公众号阅读,网页类型倒是可以设置里改改用,聊天记录的窗口根本没法控制

这应该没有吧?我不确定。我MS账号登录系统的,兼容性也没开管理员启动

其实额外的窗口,例如公众号等等这些窗口,你所要使用的软件必须支持对于窗口和Class的同时定位,你自己写程序也是这样。我以前还写过更难判断的,最后只能根据控件进行判断的。我简单看了下,例如:公众号窗口,标题也叫“微信”,但是它的Class是"CefWebViewWnd",微信窗口是"WeChatMainWndForPC",所以对于弹出窗口的处理最好是有一个守护程序。 上面这是从做程序的角度说的
另外帮你测试了一下ZMover ,发现可以实现分显示器显示位置,而且带窗口触发。

1 Like

十分感谢!