as8686886 发表于 2024-4-4 14:58:14

WinXShell自动更改DPI

本帖最后由 as8686886 于 2024-4-4 17:30 编辑

在WinXshell的WinXShell.lua里发现以下一段代码:-- 根据DPI自动切换屏幕分辨率
function MyDisplayChangedHandler()
local cur_res_x = Screen:GetX()
if last_res_x == cur_res_x then return end
last_res_x = cur_res_x
if last_res_x >= 3840 then
    Screen:DPI(150)
elseif last_res_x >= 1440 then
    Screen:DPI(125)
elseif last_res_x >= 800 then
    Screen:DPI(100)
end
end
这段代码如何调用呢?
winxshell.exe -script WinXShell.lua 没有任何效果
将函数名function MyDisplayChangedHandler()改为function ondisplaychanged再通过EXEC !"%ProgramFiles%\WinXShell\WinXShell.exe" -regist -daemon
EXEC %ProgramFiles%\WinXShell\WinXShell.exe -ondisplaychanged调用也没效果!

hua_wuxin 发表于 2024-4-4 15:42:01

EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode "MyDisplayChangedHandler()"

slore 发表于 2024-4-4 15:42:54

这个函数是 WinXShell 作为外壳时,当系统分辨率变化后,根据分辨率尺寸进行自动调整DPI。

你是Explorer.exe外壳环境运行麽。

yyz2191958 发表于 2024-4-4 15:45:45

进来学习

as8686886 发表于 2024-4-4 17:22:11

slore 发表于 2024-4-4 15:42
这个函数是 WinXShell 作为外壳时,当系统分辨率变化后,根据分辨率尺寸进行自动调整DPI。

你是Explorer ...

是Explorer环境

as8686886 发表于 2024-4-4 17:25:40

hua_wuxin 发表于 2024-4-4 15:42
EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode "MyDisplayChangedHandler()"

这个命令可以,Explorer模式下可以用,多谢!

yc2428 发表于 2024-4-4 18:37:41

学习

hehuiying 发表于 2024-4-6 04:52:11

谢谢分享

vyuha 发表于 2024-4-17 21:11:14

777
页: [1]
查看完整版本: WinXShell自动更改DPI