无忧启动论坛

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

[原创] [更新(2022/11/11) ModernUI回归] explorer再见,WinXShell你好!

    [复制链接]
987#
发表于 2023-1-5 10:23:39 | 只看该作者
回复

使用道具 举报

986#
 楼主| 发表于 2022-12-30 15:47:39 | 只看该作者
ccldy3 发表于 2022-12-30 14:18
标题栏 蓝色也是这玩意搞出来的?不会用啊  能说明下么?

标题栏是系统设定,不是这个工具带的,不过UI_Settings界面,有设置标题栏是否显示的选项,可以控制。
回复

使用道具 举报

985#
发表于 2022-12-30 14:18:11 | 只看该作者
标题栏 蓝色也是这玩意搞出来的?不会用啊  能说明下么?
回复

使用道具 举报

984#
 楼主| 发表于 2022-12-29 15:44:03 | 只看该作者
zhangzan30 发表于 2022-12-29 14:59
请教老大用简易菜单加载外置工具包的话X:%users\Default\AppData\Roaming\Microsoft\Windows\Start Menu文 ...

先创建快捷方式,再启动外壳进程。
目前没有加动态刷新,需要重启外壳进程,或者启动前创建好。
回复

使用道具 举报

983#
发表于 2022-12-29 14:59:20 | 只看该作者
请教老大用简易菜单加载外置工具包的话X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu文件夹里面能显示加载的工具但是菜单没有刷新出来,怎么才能配置这个菜单刷新功能,或者注册表能否修改
回复

使用道具 举报

982#
发表于 2022-12-25 18:50:18 | 只看该作者
感觉蛮不错的,谢谢大佬分享
回复

使用道具 举报

981#
发表于 2022-12-24 10:37:32 | 只看该作者
支持大佬!!
回复

使用道具 举报

980#
 楼主| 发表于 2022-12-22 19:21:04 | 只看该作者
zhangzan30 发表于 2022-12-22 15:47
请教老大用winxshell做启动外壳,不用pecmd的配置的话,初始化快捷之类的是否配置到winxshell.lua里面,桌 ...

-- 启动命令
os.run('explorer.exe'), os.exec()

-- 创建快捷方式
Desktop:Link(), Startmenu:Link(), Taskbar:Pin(), Startmenu:Pin()



pecmd.lua 完整例子:
  1. local function OSInit()
  2.   -- show cursor, and wpeinit.exe
  3.   os.exec('/wait', '%WinDir%\\System32\\winpeshl.exe')

  4.   -- // Load Display drivers
  5.   os.exec('/wait /hide', [[Drvload.exe %WinDir%\inf\basicdisplay.inf %WinDir%\inf\basicrender.inf %WinDir%\inf\c_display.inf %WinDir%\inf\display.inf %WinDir%\inf\displayoverride.inf]])

  6.   -- // Try resolution(s)
  7.   Screen:DispTest({'1024x768', '1152x864', '1366x768'})

  8.   File.delete('X:\\Users\\Public\\Desktop\\desktop.ini')
  9. end

  10. local function PreShell()
  11.   -- LetterSwap
  12.   -- // exec('/wait /hide', [[LetterSwap.exe /auto /bootdrive Y:\CDUsb.y /Log %WinDir%\System32\LetterSwap.log]])

  13.   -- Load oem drivers before shell in background
  14.   -- os.exec('/hide', [[%WinDir%\System32\pnputil.exe /add-driver %WinDir%\inf\oem*.inf]])

  15.   -- Prepare environment variables

  16.   local homeprofile = 'X:\\Users\\Default'
  17.   if logon_user ~= 'SYSTEM' then
  18.     homeprofile = 'X:\\Users\\' .. logon_user
  19.   end
  20.   os.setenv('HOMEPROFILE', homeprofile) -- only for PE
  21.   os.setenv('Desktop', homeprofile .. '\\Desktop')
  22.   os.setenv('Programs', homeprofile .. [[\AppData\Roaming\Microsoft\Windows\Start Menu\Programs]])

  23.   -- shortcuts
  24.   Desktop:Link('7-Zip.lnk', [[%ProgramFiles%\7-Zip\7zGM.exe]])

  25.   Desktop:Link('#{@shell32.dll,22067}.lnk', 'Explorer.exe')
  26.   Desktop:Link('#{@shell32.dll,22022}.lnk', 'cmd.exe')
  27.   Desktop:Link('Internet Explorer.lnk', '%ProgramFiles%\\Internet Explorer\\iexplore.exe')

  28.   Startmenu:Link('管理工具\\设备管理器.lnk', 'devmgmt.msc')
  29.   Startmenu:Link('管理工具\\磁盘管理器.lnk', 'diskmgmt.msc')
  30. end

  31. local function LoadShell()
  32.      os.exec('PECMD.EXE EXEC -su ctfmon.exe')
  33.      os.exec('WinXShell.exe -daemon')
  34.      os.run('Explorer.exe')
  35. end

  36. local function PostShell()
  37.     Taskbar:WaitForReady()

  38.     Taskbar:Pin('%ProgramFiles%\\WinXShell\\WinXShell.exe', 'UI_Shutdown', '-ui -jcfg wxsUI\\UI_Shutdown.zip\\full.jcfg -blur 5', 'shell32.dll', 27)
  39.     Taskbar:Pin('Explorer.exe')
  40.     Taskbar:Pin('cmd.exe')
  41.     Startmenu:Pin('X:\\Windows\\System32\\notepad.exe')
  42. end

  43. local function main()
  44.   OSInit()
  45.   PreShell()
  46.   LoadShell()
  47.   PostShell()
  48.   -- loader keeper
  49.   os.exec('/wait /hide', 'cmd.exe /k echo alive')
  50. end

  51. main()
复制代码
回复

使用道具 举报

979#
发表于 2022-12-22 16:36:07 | 只看该作者

谢谢楼主的分享
回复

使用道具 举报

978#
发表于 2022-12-22 15:47:48 | 只看该作者
本帖最后由 zhangzan30 于 2022-12-22 16:05 编辑

请教老大用winxshell做启动外壳,不用pecmd的配置的话,初始化快捷之类的是否配置到winxshell.lua里面,桌面开始菜单快捷用什么命令,能否用wpeinit初始化exec('/hide', 'wpeinit.exe')
回复

使用道具 举报

977#
 楼主| 发表于 2022-12-21 20:58:46 | 只看该作者
xintiandi 发表于 2022-12-21 15:52
这么多年了。没想到楼主还在更新,好久没有折腾了,之前用wes7的时候研究了一个版本一直用到现在,不知道新 ...

wes的接口在了,不过新版本名字稍微改了下,App:XXX()。

你说的2个功能,好像已经有接口了,具体我看下文档的说明。
回复

使用道具 举报

976#
发表于 2022-12-21 16:33:40 | 只看该作者
explorer再见
回复

使用道具 举报

975#
发表于 2022-12-21 15:52:30 | 只看该作者
本帖最后由 xintiandi 于 2022-12-21 15:53 编辑

这么多年了。没想到楼主还在更新,好久没有折腾了,之前用wes7的时候研究了一个版本一直用到现在,不知道新版本启动时针对wes的参数取消没,终于需要更新一下系统了。准备在试试最新的版本,请教一下楼主,我的使用场景默认启动后加载winxshell,不用显示桌面图标,也不显示任务栏。只是加载一个桌面壁纸,但是有时需要显示出任务栏。也就是说任务栏的隐藏和显示通过命令行实现。这2点是否有完成的接口可调用。
回复

使用道具 举报

974#
发表于 2022-11-24 11:38:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

973#
 楼主| 发表于 2022-11-24 11:09:07 | 只看该作者
2011wyy 发表于 2022-11-24 10:33
请教老大,我手上老的PE中的WinXShell,有无必要跟着更新?更新应该不会出问题的吧?

够用就不用更新啊。有问题的话,换回4.6.版本也可以的。

如果22621以上版本,用新版会好些。
回复

使用道具 举报

972#
发表于 2022-11-24 10:41:29 | 只看该作者
感谢分享!
回复

使用道具 举报

971#
发表于 2022-11-24 10:33:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

970#
发表于 2022-11-20 10:45:36 | 只看该作者
还有更新,感谢分享
回复

使用道具 举报

969#
发表于 2022-11-19 21:56:38 | 只看该作者
谢谢,我已经下载了,前一个版本也下载了,有点小问题,这个5.0.2的都修复了,速度很快,谢谢大佬无私奉献!
回复

使用道具 举报

968#
 楼主| 发表于 2022-11-19 14:43:17 | 只看该作者
newpe 发表于 2022-11-15 12:48
蓝奏下载不了,加载失败

附件也上传了一份。
回复

使用道具 举报

967#
发表于 2022-11-17 18:51:43 | 只看该作者
本帖最后由 tzxinqing 于 2022-11-18 08:45 编辑

试了下, 有的笔记本支持连接同名SSID,有的还是无法连接。
回复

使用道具 举报

966#
发表于 2022-11-15 12:48:35 | 只看该作者
蓝奏下载不了,加载失败
回复

使用道具 举报

965#
发表于 2022-11-15 09:24:23 | 只看该作者
感谢大神分享!
回复

使用道具 举报

964#
发表于 2022-11-15 08:46:40 | 只看该作者
哇,UI_WIFI 支持连接同名SSID,感谢感谢。
回复

使用道具 举报

963#
发表于 2022-11-14 11:13:25 | 只看该作者
谢谢分享!
回复

使用道具 举报

962#
 楼主| 发表于 2022-11-14 00:08:33 | 只看该作者
本帖最后由 slore 于 2022-11-19 14:42 编辑

## WinXShell 5.0.2 (2022.11.11)

SHA1:961853F484BD17EC0FF6829DF6CA0A55AE4B45A9 ( https://www.lanzoux.com/b011xhbsh 密码: shell )

WinXShell_RC5.0.2.7z (2.65 MB, 下载次数: 275)

这是一个主要更新。添加和改善了以下内容:
  • 新增 使用说明文档(WinXShell_Docs)
  • 重构 Lua 代码接口, WinXShell.lua 事件响应函数等
  • 改进 当作为外壳(Shell)时,以下操作可分别定义打开不同的文件资源管理器。
    • 桌面双击打开文件夹
    • Windows + E 组合键
    • 任务栏快速启动栏中点击文件资源管理器图标
  • 改进 UI组件
    • UI_WIFI 支持连接 WPA2/WPA3 密码类型
    • UI_WIFI 添加显示密码按钮
    • UI_WIFI 支持连接同名SSID (正常系统下确认同名不能连接,ID索引引起问题较多,此功能废弃)
    • UI_WIFI 修复不显示连接界面时,网络状态指示处理未回收内存的问题
    • UI_WIFI 添加Windows 11 风格托盘图标
    • UI_WIFI 支持自定义托盘图标
    • UI_WIFI 浅色主题文本框显示效果
    • UI_Calendar, UI_TrayPanel 修正农历显示不正确的问题,更新农历数据(~2025 年)
  • 改进 Lua 接口
    • 新增 Sui:onClick() 点击事件支持文本中的URL超链接响应
    • 新增 Sui:onHover() 响应鼠标悬停事件
    • 新增 Dialog:Show() 弹出对话框
    • 新增 Dialog:OpenFile(), Dialog:SaveFile() 弹出打开文件/保存文件窗口
    • 新增 Dialog:BrowseFolder() 浏览文件夹窗口
    • 新增 File.GetShortPath() 获取 8.3格式的短路径
    • 新增 File.GetFullPath() 获取 完整路径格式
  • 新增 日志功能(-log 选项)
  • 改善 自动识别是否是 Windows PE 环境运行, -winpe 选项 已废弃
  • 修复 有时打开菜单时,导致程序无法正常工作的问题
  • 更新 适配 Windows 11 新版本系统
  • 其他细节更新


本次更新功能增加不多,主要补充了说明文档,对Lua接口进行了重新设计,代码重构。
如果使用中发现问题,请随时反馈,我会尽快进行修复。



回复

使用道具 举报

961#
发表于 2022-11-3 22:13:24 | 只看该作者
看看这个帖子,学习一下WinXShell的使用方法啊
回复

使用道具 举报

960#
发表于 2022-11-2 20:45:23 | 只看该作者
本帖最后由 青青草 于 2022-11-2 21:06 编辑
slore 发表于 2022-11-2 19:23
启动sh.exe命令时,加等待参数就可以。
或者,判断sh.exe最后创建的快捷方式是否存在。

我是利用原版系统安装盘镜像Windows.iso,直接射入文件,动态构造pe的。
  1.     menuentry "[${sequence}] 启动 ${name} PE (${device})" "${device}" "${filename}"  --hotkey="${sequence}"{        
  2.                    set root="$2";
  3.                    set filename_this="$3"                                                           
  4.                    terminal_output console;
  5.                    loopback -d loop;
  6.                    loopback loop "${filename_this}";
  7.                    set lang=en_US;                                                                                                                     
  8.                    loopback wimboot ${prefix}/wimboot.xz;
  9.                    wimboot --index=2 \
  10.                           @:bootmgfw.efi:(wimboot)/bootmgfw.efi \
  11.                           @:explorer.exe:${prefix}/explorer.exe \
  12.                           @:WinXShell.exe:${prefix}/WinXShell.exe \
  13.                           @:WinXShell.jcfg:${prefix}/WinXShell.jcfg \
  14.                           @:winpeshl.ini:${prefix}/winpeshl.ini \
  15.                           @:findstr.exe:${prefix}/findstr.exe \
  16.                           @:imagex.exe:${prefix}/imagex.exe \
  17.                           @:oledlg.dll:${prefix}/oledlg.dll \
  18.                           @:WinXShell.lua:${prefix}/WinXShell.lua \
  19.                           @:setup.bat:${prefix}/setup.bat \
  20.                           @:boot.wim:(loop)/sources/boot.wim;                                    
  21.          }
复制代码
setup.bat的内容如下:
  1. @ECHO OFF
  2. setlocal enabledelayedexpansion
  3. for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4. if  exist  %%i:\tool\yong\w64\yong.exe  start %%i:\tool\yong\w64\yong.exe
  5. if  exist  %%i:\tool\sh.exe  start %%i:\tool\sh.exe
  6. )
  7. choice  /t  60  /d  y /n >nul
  8. start winxshell.exe -code Desktop:Refresh()
  9. exit
复制代码
进入PE桌面后,sh.exe已启动在右下角(任务栏),需桌面右键刷新后,桌面上才会出现利用sh.exe加载的其它工具的图标。
回复

使用道具 举报

959#
 楼主| 发表于 2022-11-2 19:23:40 | 只看该作者
青青草 发表于 2022-11-2 16:50
@ECHO OFF
setlocal enabledelayedexpansion
for %%i in (A B C D E F G H I J K L M N O P Q R S T U ...

启动sh.exe命令时,加等待参数就可以。
或者,判断sh.exe最后创建的快捷方式是否存在。

理论上,桌面是自动刷新的才对。
WinXShell创建桌面快捷方式都能实时显示,不用刷新。

你的PE不大的话,可以上传下。
回复

使用道具 举报

958#
发表于 2022-11-2 16:50:40 | 只看该作者
slore 发表于 2022-11-2 12:22
start /wait等待sh.exe加载完毕再刷新吧。
这样太快了,估计没有做完。

@ECHO OFF
setlocal enabledelayedexpansion
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if  exist  %%i:\tool\yong\w64\yong.exe  start %%i:\tool\yong\w64\yong.exe
if  exist  %%i:\tool\sh.exe  start %%i:\tool\sh.exe
)
choice  /t  60  /d  y /n >nul
start winxshell.exe -code Desktop:Refresh()

exit
这样也不行。
如何判断sh.exe加载完毕?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-26 18:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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