|
本帖最后由 slore 于 2019-5-22 07:49 编辑
2019-05-14 RC4.2 测试版:
WinXShell_RC4.2_beta2.7z
(2.91 MB, 下载次数: 68)
- 新增UI_Logon, 支持多用户登录支持脚本交互, 可设置密码, 可自动登录(默认管理员密码admin,SYSTEM空密码,可在ui_logon.zip中的main.lua第二行修改,下版会参数化,放到main.jcfg中)
- 添加100行代码实现exec,link,pin方法(可使用pecmd.lua代替pecmd.ini中的执行命令与创建快捷方式命令)
- 新增Screen:Disp,Screen:DispTest方法更改分辨率(Screen:DispTest({'1152x864', '1366x768', '1024x768'}),尝试设置可能的分辨率)
- 重置工作区域, 解决部分远程桌面工具连接后导致应用程序最大化覆盖住任务栏 (已测试)
- 修复UI_Shutdown单独设置-blur模糊参数无效的问题
本次附件提供一个pecmd.lua的例子, 进行PE登录时的初始化.
使用方法1-单纯的登录界面,用于用户选择与密码控制:
- WinXShell.exe -ui -jcfg wxsUI\UI_Logon.zip
复制代码
可在PECMD中调用
使用方法2-登录时,执行交互脚本,进行程序启动,快捷方式创建等操作:
- set logon_script=D:\Dev\Shell\WinXShell_x64\pecmd.lua
- WinXShell.exe -ui -jcfg wxsUI\UI_Logon.zip
复制代码
可在PECMD中调用
使用方法3- WinXShell.exe作为启动加载器,除了初始化动作以外,可执行登录后代码,以及保持PE不退出。:
- WinXShell.exe -regist -script D:\Dev\Shell\WinXShell_x64\pecmd.lua
复制代码
原来的-script方法而已,不过新用法
与PECMD命令的不同时, 更好的国际化支持, 简单明了的参数接口.
- exec("/wait /min", "notepad.exe") -- 最小化运行记事本,等待结束
- exec("/hide", "cmd.exe /c test.bat") -- 隐藏运行命令
复制代码
如果绝的中文更友好,也可以支持 "/隐藏 /等待" 等中文选项.
pecmd.lua中的快捷方式创建方法
- local function Shortcuts()
- set_progress('%{Prepare shortcuts ...}') -- 中文系统下, UI_Logon的文本进度, 将显示 "正在准备快捷方式, 请稍等片刻 ..."
- local homeprofile = 'X:\\Users\\Default'
- if logon_user ~= 'SYSTEM' then
- homeprofile = 'X:\\Users\\' .. logon_user
- end
- winapi.setenv('Desktop', homeprofile .. '\\Desktop')
- winapi.setenv('Programs', homeprofile .. [[AppData\Roaming\Microsoft\Windows\Start Menu\Programs]])
- local path = '%Programs%\\Administrative Tools'
- LINK(path .. '\\Computer Management.lnk', 'compmgmt.msc')
- LINK(path .. '\\Device Manager.lnk', 'devmgmt.msc')
- LINK(path .. '\\Disk Management.lnk', 'diskmgmt.msc')
- LINK(path .. '\\Services.lnk', 'services.msc')
- LINK('%Programs%\\System Tools\\#{@shell32.dll,22022}.lnk', 'cmd.exe')
- LINK('%Desktop%\\Explorer.lnk', 'Explorer.exe')
- LINK('%Desktop%\\#{@shell32.dll,22022}.lnk', 'cmd.exe') -- 命令提示符.lnk
- LINK('%Desktop%\Internet Explorer.lnk', '%ProgramFiles%\\Internet Explorer\\iexplore.exe')
- LINK('%Desktop%\PENetwork.lnk', '%ProgramFiles%\\PENetwork\\PENetwork.exe')
- end
复制代码
更直观的变量定义, 支持环境变量, 支持系统DLL字符串资源,
cmd中可直接识别的命令, 可省略路径(通常是Windows, System32下面的文件).
lua是开源的脚本语言, 文件操作, 注册表操作, 窗口操作, 自定义库扩展等原生支持,
对应方法, 语法可在网络上快速找到.
2019-05-14 RC4.1 更新内容:
- 改善快捷方式的打开所在目录功能, 可以自动选择到文件
- 命令行支持ms-settings协议。(WinXShell.exe ms-settings:XXXX)
- 添加sui:focus方法,可激活UI元素变成选中状态
- 添加onreturn事件函数, 当在文本框等控件输入内容直接回车后将执行该事件函数
- 完善关联, Shell模式运行时, 运行 输入 system32, drivers等文件夹名,将自动使用WinXShell打开
|
|