![]() |
lwb1 发表于 2019-2-3 11:06 因为使用lua脚本扩展,做了一个 自动加载 lua_helper的lua脚本,结果呢, 它调用dir /b命令获取所有lua文件列表会启动一个cmd来运行的,所以会闪一下。 与文件夹关联没有关系。 打开:WinXShell\lua_helper\lua_helper.lua,删除红色的部分,添加蓝色的部分。 package.cpath = dllpath .. package.cpath |
本帖最后由 slore 于 2019-2-3 13:43 编辑 lwb1 发表于 2019-2-3 10:07 补充系统缺失的文件,可以使用内置的“打开文件对话框”模拟资源管理器,这种方式和explorer.exe几乎一模一样,而且PE系统的很多“浏览”按钮也可以使用了,方便打开文件。 如果是这种方式,你不用修改注册表,桌面打开文件夹,我的电脑,回收站,按Win+E打开资源管理器等都自动会由WinXShell.exe来打开。 运行直接输入: system32这种方式打开文件夹,确实漏了关联注册表,你可以修改HKCR\Folder的关联到WinXShell.exe %1程序。 如果你使用第三方文件管理器,比如explorer++.exe,他们支持多窗口等其他特性,而且是绿色软件,单独一个exe就可以了,不依赖系统组件,比较便携。 这个情况,你修改好WinXShell.jcfg的配置,桌面打开文件夹,我的电脑,回收站,按Win+E打开资源管理器等都自动会由WinXShell去调用第三方文件管理器,你不需要修改注册表。 当然,同样运行直接输入:system32会提示无法找到关联程序,你可以修改注册表关联到WinXShell.exe %1,也可以直接关联到该第3方文件管理器:explorer++.exe %1。 |
lwb1 发表于 2019-2-2 16:24 如果你用第三方文件管理器,如 explorer++.exe。 你放到和WinXShell.exe相同目录, WinXShell.jcfg你打开 "::文件管理器": { "#::第3方文件管理器":"##{JVAR_MODULEPATH}\\explorer++.exe", "#padding-bottom":20 }, "#::第3方文件管理器"开头的 #号删除掉就行了。 你也可以随意放到其他地方,这个路径修改就行了,比如: "::第3方文件管理器":"X:\\Program Files\\explorer++\\explorer++.exe", |
参与人数 1 | 无忧币 +1 | 收起 理由 |
---|---|---|
| + 1 | 赞一个! |
Mouri_Naruto 发表于 2018-8-20 00:36 推送到PExplorer这里了, 里面有2个分支PExlorer_v1.0,引入UI库前的最后一个Tag版本, 另外WinXShell改名后对文件管理器也有部分修正,所以把这部分修正单独抽取出来, 推送到WinXShell_shellpart的分支了,可以无依赖VS2015编译成功。 WinXShell的仓库预留着吧。 |
参与人数 2 | 无忧币 +6 | 收起 理由 |
---|---|---|
| + 1 | 很给力! |
| + 5 | 很给力! |
本帖最后由 xintiandi 于 2018-1-29 22:33 编辑 的确是忘了加winpe参数,加上后,重启和关机都有效了。我想取消关机按钮,只保留重启,都是远程操作,一旦关机后,就不方便开机了,不知如何实现。 WinXShell.exe -ui -jcfg UI_Shutdown\main.jcfg 这个直接命令行可用,改到配置里面会出错。 |
楼主,还是静态编译,去除掉对VC库依赖吧 |
谢谢分享 |
谢谢分享!!! |
感谢楼主分享 |
感谢分享 |
老大,请教一下: win+e打开资源管理器后,如何让它显示中号的图标 ,而不是默认的列表? |
感谢分享 |
感谢分享! |
本帖最后由 hua_wuxin 于 2025-2-25 11:25 编辑 slore 发表于 2025-2-24 15:56 如果不考虑自定义的缩放比例的话,似乎不完全匹配时用大一级的就行了。 我在虚拟机里胡乱试了一些分辨率和缩放比例的组合,只发现GetDPI()有124/149/174/199/249这些比预期值小1的情况。 ![]() ![]() ![]() 2月25日补:我又想了想,因为楼主有日后支持自定义缩放比例的计划,所以干脆把当前应用中的那个非标准比例加进列表里并重新排序。改动供参考: local function get_dpiindex_and_dpilist(dpi) local list = {100, 125, 150, 175, 200, 225, 250, 300} if (dpi < 100) or (dpi > 300) or (dpi % 25 ~= 0) or ((dpi > 250) and (dpi % 50 ~= 0)) then table.insert(list, dpi) end table.sort(list) local i = -1 for k, v in pairs(list) do if v == dpi then i = k - 1 break end end return i, table.concat(list, '%\n') .. '%' end UIPages['Display'].Init = function(self, tab) --以上省略 dpi_combo.index, dpi_combo.list = get_dpiindex_and_dpilist(Screen:Get('DPI')) last_dpi = dpi_combo.index resolution_combo.list = suilib.call('GetResolutionList') resolution_combo.index = suilib.call('GetCurrentResolution') --以下省略 end UI.OnChanged['dpi_combo'] = function(val) if last_dpi == val then return end local newdpi = dpi_combo.text newdpi = string.sub(newdpi, 1, string.len(newdpi) - 1) Screen:Set('DPI', newdpi) last_dpi = val end |
hua_wuxin 发表于 2025-2-24 00:15 这个已经改过了,但是逻辑是,找不到指定的DPI值时,用小于它的DPI显示。 151的话,会是150%。 要改对的话,得用小于它和大于它的DPI比较差值。 |
感谢楼主无私奉献 |
支持 |
感谢分享 |
感谢分享 |
谢谢楼主的分享 |
Itzamana 发表于 2022-12-25 18:50 可以用在pe上 |
太好用了 |
nb |
支持原创,请楼主提供源代码,谢谢![]() |
谢谢楼主分享 |
感谢分享 |
感谢分享 |
感谢分享 |
感谢分享 |
感谢分享 |
谢谢更新分享! |
感谢分享 |
了解一下 |
感谢分享 |
感谢分享 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.