无忧启动论坛

 找回密码
 注册
搜索

[更新(2025/12/12) ModernUI回归] explorer再见,WinXShell你好!

查看数: 483791 | 评论数: 1305 | 收藏 283
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-9-28 10:32

正文摘要:

本帖最后由 slore 于 2025-12-15 01:37 编辑 什么是WinXShell? 支持Windows 7,8,8.1,10,11, Windows Server 2008,2012,2016,2019,2022,2025以及以上版本的PE平台上的的代替explorer.exe的外壳程序。 (目前仍有e ...

回复

slore 发表于 2019-2-3 13:33:23
lwb1 发表于 2019-2-3 11:06
还有一个问题
我把WinXshell设为PE默认的Shell
WinXshell启动时或打开文件夹时会出现一个命令提示符窗口
...


因为使用lua脚本扩展,做了一个 自动加载 lua_helper的lua脚本,结果呢,
它调用dir /b命令获取所有lua文件列表会启动一个cmd来运行的,所以会闪一下。
与文件夹关联没有关系。

打开:WinXShell\lua_helper\lua_helper.lua,删除红色的部分,添加蓝色的部分。

package.cpath = dllpath .. package.cpath

local f = io.popen('@dir /b '.. path .. '\\*.lua')
for line in f:lines() do
  if str.lower(line) ~= str.lower(__this__) then
    if suilib then
      suilib.print(line)
    else
      print(line)
    end
    require(line:sub(1, -5))
  end
end
f:close()


--[[
require('reg_helper')
require('os_helper')
require('str_helper')
require('io_helper')

--]]

点评

感谢楼主分享 PE中的必备软件之一 请教一下老大,最近发现有声网PE,播放声音为单声道,有无可能通过此软件的配置实现双声道?  详情 回复 发表于 2023-8-30 17:06
slore 发表于 2019-2-3 13:40:10
本帖最后由 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。
slore 发表于 2019-2-2 18:27:43
lwb1 发表于 2019-2-2 16:24
explorer++.exe放那个目录?

如果你用第三方文件管理器,如 explorer++.exe。
你放到和WinXShell.exe相同目录,

WinXShell.jcfg你打开

  "::文件管理器":
  {
    "#::第3方文件管理器":"##{JVAR_MODULEPATH}\\explorer++.exe",
    "#padding-bottom":20
  },

"#::第3方文件管理器"开头的 #号删除掉就行了。

你也可以随意放到其他地方,这个路径修改就行了,比如:

"::第3方文件管理器":"X:\\Program Files\\explorer++\\explorer++.exe",

评分

参与人数 1无忧币 +1 收起 理由
Win7MEMZ-BX + 1 赞一个!

查看全部评分

slore 发表于 2018-8-20 21:54:55
Mouri_Naruto 发表于 2018-8-20 00:36
有关系的
因为使用含有GPL许可的所有项目和使用LGPL许可的静态编译的项目都有问询源代码在哪里的权利
...

推送到PExplorer这里了,
里面有2个分支PExlorer_v1.0,引入UI库前的最后一个Tag版本,
另外WinXShell改名后对文件管理器也有部分修正,所以把这部分修正单独抽取出来,
推送到WinXShell_shellpart的分支了,可以无依赖VS2015编译成功。

WinXShell的仓库预留着吧。

评分

参与人数 2无忧币 +6 收起 理由
Win7MEMZ-BX + 1 很给力!
Mouri_Naruto + 5 很给力!

查看全部评分

xintiandi 发表于 2018-1-29 22:21:52
本帖最后由 xintiandi 于 2018-1-29 22:33 编辑

的确是忘了加winpe参数,加上后,重启和关机都有效了。我想取消关机按钮,只保留重启,都是远程操作,一旦关机后,就不方便开机了,不知如何实现。

WinXShell.exe -ui -jcfg UI_Shutdown\main.jcfg

这个直接命令行可用,改到配置里面会出错。

点评

参考#254楼回复, "noshutdown":true, 就可以没关机菜单。 shutdwon_ui\\main.jcfg 斜杠需要写2个,在配置文件里。 main.xml文件,对关机按钮,配置个enabked=false,界面上关机也不能点了。参考其他的待  详情 回复 发表于 2018-1-30 09:38
friend8179 发表于 2015-9-29 14:32:09
楼主,还是静态编译,去除掉对VC库依赖吧
WilliamChan 发表于 5 天前
作者会更新纯win11风格的版本吗
18949234056 发表于 5 天前
好东东,,,支持
tom2143 发表于 6 天前
非常给力的一个项目
tom2143 发表于 6 天前
必须来支持一下 不错
john138 发表于 2026-1-6 15:29:44

感谢分享
12355 发表于 2026-1-5 18:21:04
楼主NB
sd631267 发表于 2026-1-4 09:02:02
txiangyang 发表于 2025-12-30 15:59:41
感谢楼主大力开发
kobcnj 发表于 2025-12-30 15:31:17
支持原创,感谢楼主分享。
xygzxygz 发表于 2025-12-26 08:57:02
好工具,有详细教程就更好了!
tqh608 发表于 2025-12-24 15:45:50
本帖最后由 tqh608 于 2025-12-24 16:25 编辑

S大,经测试最新版WinXShell_RC5.1.5.1.de45e6b在这个PE   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=425765 上使用相互切换用户,即A用户切换到S用户再由S用户切换到A用户时,显示桌面失效,进入PE系统后如果不相互切换用户显示桌面正常。使用旧版RC5.1.0双用户相互切换显示桌面都正常。
likunrong 发表于 2025-12-23 10:46:01
感谢分享
tutucherry 发表于 2025-12-22 17:21:11
谢谢楼主的分享
zqfeng01 发表于 2025-12-22 12:08:35
感谢分享
i11lxm 发表于 2025-12-22 08:55:59
xxf谢谢分享,我试试。
long363669954 发表于 2025-12-22 06:07:33
谢谢楼主的分享
slore 发表于 2025-12-22 01:08:03
## WinXShell_RC5.1.5.1.de45e6b 更新

下载地址:
https://www.lanzoux.com/b011xhbsh 密码: shell
https://slore.lanzouv.com/b011xhbsh 密码: shell

更新内容:
  • 修复显示桌面无法正常处理的问题
  • UI_Settings 表示细节轻微更新

wang1126 发表于 2025-12-21 17:14:46
谢谢楼主分享
wtwq263 发表于 2025-12-21 08:35:49
路过,支持楼主分享
slore 发表于 2025-12-21 01:00:36


显示桌面功能,老版本正常,新版本特定情况下不正常的问题,找到原因了。
感谢 @liangnijian 发现是BCD选项不同导致问题的,并提供了测试用的ISO镜像。

新版本对【显示桌面】功能添加了修复开关的配置选项,默认是自动模式,识别到PE环境,会进行修复,
正常系统启动不处理。

关于是不是PE的判断是,读取系统注册表,从启动参数判断是不是有 "MININT" 字样。

结果这里,使用默认字符串长度是MAX_PATH, 260字符,因为是Unicode实际520字节,
但是注册表读取函数传递的保存读取内容空间大小的参数,我忘了x2,所以它以为我只有260字节,那么读取的启动参数字符串只能接收 130 字符以内,超过130字符的话,读取不到,
判断不了 MININT 字样,所以没有正确判断是PE启动模式。

  1. WinXShell.exe -code Alert(App:Info('isWinPE'))  
复制代码



返回结果为0,所以就不接管了,那么点击显示桌面,就会导致explorer.exe崩溃掉,这个是 explorer.exe 外壳本来就存在的问题
如果正确识别了到PE环境,WinXShell.exe 对到 26H1 为止的版本都会修复正常。

BCD添加了安全分辨率的话,会有下面的启动参数:
graphicsresolution=1024x768

导致注册表中的启动选项信息为 146 字符,所以 WinXShell.exe 没有去修复显示桌面的问题。
同样的,也有个人做的启动BCD,关于boot.wim的路径,文件名多加几个字符导致无法正确判断。
明天上午会发布一个修复版本。

-----------------------------

代码说明(参考信息,看不懂可以忽略):



// #define MAX_PATH  260
BOOL isWinPE()
{
    DWORD type = REG_DWORD;
    TCHAR value[MAX_PATH] = { 0 };
    DWORD size = MAX_PATH;   <-260 / 2 => 130 字符数 (这里 size = MAX_PATH * sizeof(TCHAR) 翻倍大小即可修复)
    SHGetValue(HKEY_LOCAL_MACHINE, TEXT("SYSTEM\\CurrentControlSet\\Control"),
        TEXT("SystemStartOptions"), &type, &value, &size);
    ★ 根据启动BCD的选项 可能导致启动选项信息超过 130字符:
   " GRAPHICSRESOLUTION=1024x768 MININT FVEBOOT=2666496 NOVGA REDIRECT RDIMAGEOFFSET=8192 RDIMAGELENGTH=3161088 RDPATH=MULTI(0)DISK(0)RDISK(1)PARTITION(1)\\SOURCES\\BOOT.WIM"
    if (type == REG_SZ) {
        if (StrStr((TCHAR*)value, TEXT("MININT")) != NULL) {  ★ value为空(\0), 找不到 MININT
            return TRUE;
        }
    }
    return FALSE;
}
yhage 发表于 2025-12-19 14:24:16
正常的非pe系统可以使用吗?

点评

可以使用。  发表于 2025-12-21 00:32
xuexiang 发表于 2025-12-19 11:24:38
https://www.lanzoux.com/b011xhbsh 密码: shell这个打不开啊,昨天我还以为网盘出问题了,今天打开别的正常,这个还是打不开
rchc08 发表于 2025-12-19 06:26:42
感谢分享
c2025 发表于 2025-12-19 05:27:30
谢谢分享
chishingchan 发表于 2025-12-19 00:56:07
这么好的帖子怎会少了关键的图片?
john138 发表于 2025-12-19 00:44:26
感谢分享
samuel2100 发表于 2025-12-18 17:22:44
很好,感谢大佬分享
slore 发表于 2025-12-17 22:51:09
uiope 发表于 2025-12-17 22:23
试了下winxshell的外壳模式,任务栏确实是全屏下自动隐藏的,但有一点点延迟,任务栏的东西点开也有一点 ...

winxshell外壳模式,显示桌面是winxshell自己处理的,任何版本都可用。
Explorer的显示桌面,目前好像是和bcd启动文件有关,官方iso模板启动正常。
uiope 发表于 2025-12-17 22:23:07
slore 发表于 2025-12-17 14:16
Explorer的任务栏,现在是startAllBack设置的。
任务栏的自动隐藏如何?
winxshell的外壳模式,任务栏 ...

试了下winxshell的外壳模式,任务栏确实是全屏下自动隐藏的,但有一点点延迟,任务栏的东西点开也有一点点延迟,还发现这种模式下5.1.5的显示桌面功能是正常的,但Explorer搭配startAllBack,显示桌面就要5.1.3或之前的,全屏下不能自动隐藏任务栏

点评

winxshell外壳模式,显示桌面是winxshell自己处理的,任何版本都可用。 Explorer的显示桌面,目前好像是和bcd启动文件有关,官方iso模板启动正常系统。  详情 回复 发表于 2025-12-17 22:51
uiope 发表于 2025-12-17 18:12:32
slore 发表于 2025-12-17 14:16
Explorer的任务栏,现在是startAllBack设置的。
任务栏的自动隐藏如何?
winxshell的外壳模式,任务栏 ...

win10是startisback的,任务栏自动隐藏打开的话只有桌面显示,其他窗口不管是否全屏都会隐藏,不会只有全屏状态才隐藏

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

闽公网安备 35020302032614号

GMT+8, 2026-1-14 04:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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