|
分辨率随系统走啊。
要启动的时候自动修改?这个你要WinXShell.lua,这里可以写lua脚本修改。
lua_helper\shell_helper.lua
从左到右尝试设置分辨率,成功了就退出。
Screen:DispTest({'1152x864', '1366x768', '1024x768'})
设置单个指定分辨率
Screen:Disp(1024, 768)
你如果删除了lua_helper目录,不能用这种接口调用,就只能使用内置的命令,:
start WinXShell.exe -code "app:call('Screen::Set', 'resolution', 1024, 768)"
不操作注册表的话,你可以不要lua_helper\,
自己建立一个 WinXShell.lua
- Screen = {}
- local function fixscreen()
- app:call('Desktop::UpdateWallpaper')
- app:call('sleep', 200)
- app:call('Taskbar::ChangeNotify')
- end
- function Screen:Get(...)
- return app:call('Screen::Get', ...)
- end
- function Screen:GetX()
- return app:call('Screen::Get', 'x')
- end
- function Screen:GetY()
- return app:call('Screen::Get', 'y')
- end
- function Screen:GetRotation()
- return app:call('Screen::Get', 'rotation')
- end
- function Screen:Disp(w, h)
- local ret = app:call('Screen::Set', 'resolution', w, h)
- if ret == 0 then
- fixscreen()
- end
- return ret
- end
- -- arr = {'1152x864', '1366x768', '1024x768'}
- function Screen:DispTest(arr)
- local i, w, h, ret = 0
- for i = 1, #arr do
- w, h = string.match(arr[i], '(%d+)[x*](%d+)')
- if h ~= nil then
- app:print(w, h)
- if Screen:Disp(tonumber(w), tonumber(h)) == 0 then return end
- end
- end
- end
复制代码
这些只使用 app:call的命令你都可以用。
用了winapi:XXX的,必须要winapi.dll。 |
|