Windows如何在切换屏幕横竖时切换不同的壁纸

如题
我有一个朋友,他有一个Windows平板(系统是Win10),
他想要在切换屏幕横竖时切换到不同的壁纸
网上查了一下,好像都要两个屏幕,但他说他只有一个屏幕
有方法吗(

壁纸引擎,写个网页就行了,onresize 的时候根据窗口尺寸更换壁纸

回答速度好快(((

Wallpaper Engine?

对,我记不住单词,就叫中文了。只要会一点点网页,这个软件 18 元很超值的,可玩性蛮高

这么说的话lively也行?

能把网页设置成壁纸的理论上都行

可以通過Windows 10的一個bug做到。詳情看這個:利用Win10 Bug实现横竖屏不同壁纸_哔哩哔哩_bilibili

先把屏幕橫竪都放一下,
然後你再打開這個文件夾:
C:\Users\您的用戶名\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles
你就會發現有兩張壁紙圖片,一張是橫放的壁紙,一張是竪起來時才會顯示的壁紙。
最後把你想要換的壁紙替換就可以了。

具体机制就是利用Windows系统的壁纸缓存机制,当设备竖屏时,系统会自动裁剪拉大横屏壁纸并生成一张缓存图片,这个时候只要把心仪的图片跟缓存图片进行名字和文件的位置的替换即可。系统并不会每时每刻都检测这张缓存壁纸,直到……你呼出了开始菜单或者重新开机。

1 个赞

我用autohotkey写了一个,完美解决!
只需要把代码里的两处C:\Users\Administrator\Pictures\tang|zhan.jpg,换成自己想要的壁纸图片就OK了

#SingleInstance force
#Persistent
flag := 0

SetTimer, changewalldog, 10000
return

changewalldog:
{
gao = %A_ScreenHeight%
chang = %A_Screenwidth%
xx := chang - gao
if (xx > 0 && flag < 1)
{
;横屏
DllCall("SystemParametersInfo",UInt,0x14,UInt,0,Str,"C:\Users\Administrator\Pictures\tang.jpg",UInt,1)
flag := 2
}else if (xx < 0 && flag > 1)
{
;竖屏
DllCall("SystemParametersInfo",UInt,0x14,UInt,0,Str,"C:\Users\Administrator\Pictures\zhan.jpg",UInt,1)
flag := 0
}
}
1 个赞

快试试吧,别忘了点个解决方案哇!