无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 698|回复: 8
打印 上一主题 下一主题

[已解决] WinXShell自动更改DPI

[复制链接]
跳转到指定楼层
1#
发表于 2024-4-4 14:58:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 as8686886 于 2024-4-4 17:30 编辑

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

2#
发表于 2024-4-4 15:42:01 | 只看该作者
EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode "MyDisplayChangedHandler()"

点评

这个命令可以,Explorer模式下可以用,多谢!  详情 回复 发表于 2024-4-4 17:25
回复

使用道具 举报

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

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

点评

是Explorer环境  详情 回复 发表于 2024-4-4 17:22
回复

使用道具 举报

4#
发表于 2024-4-4 15:45:45 | 只看该作者
进来学习
回复

使用道具 举报

5#
 楼主| 发表于 2024-4-4 17:22:11 | 只看该作者
slore 发表于 2024-4-4 15:42
这个函数是 WinXShell 作为外壳时,当系统分辨率变化后,根据分辨率尺寸进行自动调整DPI。

你是Explorer ...

是Explorer环境
回复

使用道具 举报

6#
 楼主| 发表于 2024-4-4 17:25:40 | 只看该作者
hua_wuxin 发表于 2024-4-4 15:42
EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode "MyDisplayChangedHandler()"

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

使用道具 举报

7#
发表于 2024-4-4 18:37:41 | 只看该作者
学习
回复

使用道具 举报

8#
发表于 2024-4-6 04:52:11 | 只看该作者
谢谢分享
回复

使用道具 举报

9#
发表于 2024-4-17 21:11:14 | 只看该作者
777
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-2 00:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表