无忧启动论坛

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

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

    [复制链接]
121#
 楼主| 发表于 2018-9-7 12:43:02 | 显示全部楼层
本帖最后由 slore 于 2018-9-7 18:07 编辑
luobo3230 发表于 2018-9-7 09:32
意思是 把boot的注册表默认关联的explorer的值都改成 winxshell.exe?


用到哪里改哪里,不用全改。文件夹关联的话:

  1. [HKEY_CLASSES_ROOT\folder\Shell\open\command]
  2. @="WinXShell.exe \"%1\""
复制代码


上面一行即可。
WinXShell.exe如果不是在Windows,System32下面,把WinXShell.exe的全路径补齐。

点评

你好, 我的注册表貌似跟说的不一样,在exefile \shell\open\command下面, 尝试在这里加了 ,打开我的电脑提示拒绝, 运行输入d: 还是提示没关联 folder下面如图中  详情 回复 发表于 2018-9-8 19:34
回复

使用道具 举报

122#
 楼主| 发表于 2018-9-8 21:41:57 | 显示全部楼层
luobo3230 发表于 2018-9-8 19:34
你好,  我的注册表貌似跟说的不一样,在exefile \shell\open\command下面, 尝试在这里加了 ,打开我的 ...


你把我的保存成注冊表用啊。
你上面的明显是错的啊,folder下面没有shell路径。

而且不用改exefile。。。

另外注册表直接改的话是:
WinXShell.exe "%1", 没有注册表文件的转义字符斜杠\,和两边的引号!

点评

还是不行啊 ,导入这注册表的话, [HKEY_CLASSES_ROOT\folder\Shell\open\command] @="WinXShell.exe \"%1\"" 如图中,用explorer++ 在其他位置能打开我的电脑。 大佬有空 帮忙看下,启动包我传了上来了。  详情 回复 发表于 2018-9-9 11:35
回复

使用道具 举报

123#
 楼主| 发表于 2018-9-9 13:15:33 | 显示全部楼层
luobo3230 发表于 2018-9-9 11:35
还是不行啊 ,导入这注册表的话,
[HKEY_CLASSES_ROOT\folder\Shell\open\command]
@="WinXShell.exe \ ...

我下载了你的ISO,测试了。我开头就给你说了啊。

你的内核没有explorerframe.dll,不能使用新版本的文件打开对话框。
任务管理器->新建任务->浏览,或者 WIN+R 运行对话框 点击 浏览,

这个不能显示的话,WinXShell.exe的文件管理器是无法使用的。补充方法也给你说过了,
不过看到你用了explorer++.exe第三方文件管理器,可以不添加。

WinXShell.jcfg的配置文件中 把使用第三方文件管理器的选项,开头的#号去掉,路径改成你的explorer++.exe。
然后,改folder的注册表,这样把关联关联到WinXShell.exe,WinXShell.exe再转调用explorer++.exe。

当然你也可以直接注册表就改成 explorer++.exe "%1",运行D:\就直接用explorer++.exe打开。
不过,推荐你修改WinXShell.jcfg,这样还会有以下动作处理:

* 快速启动栏 的 文件管理器 图标,将打开定义的第三方文件管理器explorer++.exe。
* 桌面的文件夹双击,将打开定义的第三方文件管理器explorer++.exe。


发现你放了不少文件管理器,XYplorer,explorer++,还保留了内置文件管理的旧版的PExlorer。
个人还是觉得系统的打开文件对话框好用,稳定,不过确实要补3个文件,改点注册表不如这种 绿色文件管理器方便。



点评

还是用winxshell吧,explorerframe.dll 含winwxs里的explorerframe.dll 也都补给全吗  详情 回复 发表于 2018-9-10 08:59
回复

使用道具 举报

124#
 楼主| 发表于 2018-9-10 11:16:33 | 显示全部楼层
本帖最后由 slore 于 2018-9-10 11:17 编辑
luobo3230 发表于 2018-9-10 08:59
还是用winxshell吧,explorerframe.dll 含winwxs里的explorerframe.dll  也都补给全吗


不用,只要加System32下面3,4个文件,和explorerframe.dll的CLSID注册表项目。

NewOpenFileDialog.bat
  1. call AddFiles %0 && :goto _AddFileEnd
  2. @Windows\System32
  3. ExplorerFrame.dll,shellstyle.dll,StructuredQuery.dll

  4. ;some version of WIN10 need this file,
  5. ;some version will broke if have this file.
  6. edputil.dll

  7. :_AddFileEnd

  8. call RawReg %0 && :goto _AddRegEnd
  9. Windows Registry Editor Version 5.00

  10. ;explorerframe.dll
  11. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}]
  12. @="Explorer Navigation Bar"
  13. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}\InProcServer32]
  14. @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  15.   00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  16.   70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  17.   00,6c,00,6c,00,00,00
  18. "ThreadingModel"="Apartment"

  19. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}]
  20. @="Shell Name Space ListView"
  21. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32]
  22. @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  23.   00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  24.   70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  25.   00,6c,00,6c,00,00,00
  26. "ThreadingModel"="Apartment"
  27. ;@="X:\\Windows\\system32\\explorerframe.dll"
  28. :_AddRegEnd
复制代码

点评

感谢大佬指点, 这些可以用winxshell.exe来打开管理器了。 我把winxshell.exe -winpe 加入winlogon注册表 咋没启动起来,还是出来cmd窗口。  详情 回复 发表于 2018-9-13 13:17
回复

使用道具 举报

125#
 楼主| 发表于 2018-9-13 09:00:24 | 显示全部楼层
xintiandi 发表于 2018-9-13 00:55
请教楼主2处问题,我在wes7中补齐电脑属性后,我的电脑右键属性跑到右键的第3个菜单处了,不是在最后,最下 ...

你看handle_prop.reg, "Position"="Bottom" 这个信息注册表补充了么。我的电脑下面多了属性的话,我先在WIN7试试看。你可以试试用handle_prop.reg,不过自己任意写个菜单名,不要叫Properties,然后禁用系统属性NoPropertiesMyComputer(不然会有2个属性?)

点评

注册表内容见下图,把属性补齐后,就系统类型和计算机描述2项是空的。 [attachimg]379402[/attachimg][attachimg]379403[/attachimg]  详情 回复 发表于 2018-9-13 11:59
回复

使用道具 举报

126#
 楼主| 发表于 2018-9-13 13:52:44 | 显示全部楼层
xintiandi 发表于 2018-9-13 11:59
注册表内容见下图,把属性补齐后,就系统类型和计算机描述2项是空的。

系统类型的资源是106行main.lua:
  
  1. local arch_id = 0
  2.   if ARCH == 'x86' then
  3.     arch_id = 56 -- Windows 10
  4.     if vernum == "6.1" then arch_id = 23 end -- Windows 7
  5.   else
  6.     arch_id = 60 -- Windows 10
  7.     if vernum == "6.1" then arch_id = 24 end -- Windows 7
  8.   end
  9.   set_res('arch_text', arch_id)
复制代码

ResHacker打开你的systemcpl.dll.mui看看,字符串资源号对不对。

如果单纯中文系统的话,你自己可以写死文本,不用从系统加载。
  1. if ARCH == 'x86' then
  2.   set_text('arch_text', '32 位操作系统,基于 x86 的处理器')
  3. else
  4.   set_text('arch_text', '64 位操作系统,基于 x64 的处理器')
  5. end
复制代码


计算机描述PE都是空的,我没处理,自己补个读取注册表的操作。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\srvcomment

main.lua有类似的代码,你先抄下看看。

点评

麻烦楼主在帮忙看看,按照你说的我自己加了系统类型是syscpl.dll中资源对应不对,我把23改成58就可以了,计算机描述,我参照版本那的注册表读取,也可以了,我加了正版的图标,但是下方那的 联机了解更多内容,搞了  详情 回复 发表于 2018-9-13 22:46
回复

使用道具 举报

127#
 楼主| 发表于 2018-9-13 13:56:31 | 显示全部楼层
luobo3230 发表于 2018-9-13 13:17
感谢大佬指点, 这些可以用winxshell.exe来打开管理器了。

我把winxshell.exe -winpe 加入wi ...

正常系统会加载shell,或者ramos,admin用户登录。。。

WinPE的话,启动是
Winpeshl.ini和Startnet.cmd。
使用了pecmd的话,PECMD.ini中设置。
回复

使用道具 举报

128#
 楼主| 发表于 2018-9-13 23:16:44 | 显示全部楼层
xintiandi 发表于 2018-9-13 22:46
麻烦楼主在帮忙看看,按照你说的我自己加了系统类型是systemcpl.dll.mui中资源对应不对,我把23改成58 ...

font字体表示ID,在locales\zh_CN.xml中先定义,大小,字体名,加粗,斜体啥的。
然后main.xml中引用对应的字体id。

点评

非常感谢,终于可以了。看来是对winxshell的整体结构还不熟,没有仔细看说明,真没去想font后面是定义的字体的id,我一直以为是size,折腾了半天,可以休息了。 [attachimg]379435[/attachimg]  详情 回复 发表于 2018-9-13 23:30
回复

使用道具 举报

129#
 楼主| 发表于 2018-9-19 22:18:48 | 显示全部楼层
四海皆狂龙 发表于 2018-9-19 19:59
winfile我看过下,编译不过,可能要比较高版本的vs。感觉这个代码是很老的东西,怀疑和nt5有差别,所以懒 ...

默认是VS2017的工程。

VS2015打开,把工程属性的SDK版本改成自己有的,
另外平台改成v140直接就编译出来了,几秒钟。

NT4的,老,样子不好看,功能也不行,学习的话也许有内容,我没看。
winxshell最初的代码也是带了多窗口的,和这个差不多,不过新版本的资源管理器
确实改进了不少,比如导航栏。。。所以我用文件对话框代替了,代码少还稳定。

以前PSP上好多经典游戏当时没完,现在拿起来,看到像素就没法玩了,
时代过去了,这种就是收藏吧。

点评

看来还是没搞头,微软都不舍得开源nt5的。  详情 回复 发表于 2018-9-19 23:34
回复

使用道具 举报

130#
 楼主| 发表于 2018-9-19 23:34:33 | 显示全部楼层
四海皆狂龙 发表于 2018-9-19 23:32
我很久不弄这东西了,我看你好像做了不少。我记得你说,通过什么方法搞定文件管理器自动刷新问题,所以我下 ...

钩住GetShellWindow API强制返回0.我没做全局钩子,只是WinXShell的文件管理器hook自己的,做出全局的也不难,不过感觉方法还是不好.

点评

也就是说还是不完美?  详情 回复 发表于 2018-9-19 23:35
回复

使用道具 举报

131#
 楼主| 发表于 2018-9-19 23:37:12 | 显示全部楼层
木头人 发表于 2018-9-19 23:00
请问为何我在VMWARE测试时,使用WEPE的WINPE内核,在PECMD.INI里加载EXPLORER.EXE,替换成加载WINXSHELL.EX ...

最好给个截图. 背景第一回读取 WinXShell.exe相同目录的wallpaper.jpg,可以在WinXShell.jcfg中修改,或者启动后,通过pecmd wall命令修改壁纸.

鼠标的问题不好说,默认boot.wim/winre.wim直接启动,shift+f10的cmd中输入winxshell.exe -winpe有的话,
就是explorer和其他的程序影响的吧.
回复

使用道具 举报

132#
 楼主| 发表于 2018-9-19 23:39:10 | 显示全部楼层
四海皆狂龙 发表于 2018-9-19 23:35
也就是说还是不完美?


某些程序,如果是桌面挂件的话,找不到桌面,不是不能用了?当然可以在钩子中过滤,FindWindow给他句柄,
不过提前不知道谁是真的要用桌面句柄,不过通常程序不会用这个API,95%以上都是OK的.
回复

使用道具 举报

133#
 楼主| 发表于 2018-9-21 00:14:38 | 显示全部楼层
四海皆狂龙 发表于 2018-9-20 22:20
我研究了下气泡,发现超时参数UINT uTimeout好像并不起作用。网上说时间间隔是10-30秒,但是接收的值总是3 ...

NOTIFYICONDATA结构体中:
    union {
        UINT  uTimeout;
        UINT  uVersion;  // used with NIM_SETVERSION, values 0, 3 and 4
    } DUMMYUNIONNAME;

超时和版本是共同体,你后面设置了版本就变成了, 不过这里是毫秒,小的话,应该是毫秒.

然后又查了下,发现受到系统Message Duration这个设定的影响,超时时间不能超过这个,
没改过就是3秒吧.

可以通过SPI_SETMESSAGEDURATION更改.

https://docs.microsoft.com/en-us ... to/message-duration

点评

就一个超时参数而已,都搞那么复杂,真是太佩服微软。  详情 回复 发表于 2018-9-21 01:16
回复

使用道具 举报

134#
 楼主| 发表于 2018-10-3 02:16:00 | 显示全部楼层
2018/10/03 RC3.3 更新
WinXShell_x64.zip (2.34 MB, 下载次数: 303)
WinXShell_x86.zip (2.18 MB, 下载次数: 161)

新任务栏风格


新关闭界面


计划登录界面



修正:托盘菜单显示在屏幕上方的问题
修正:当任务栏未选择时,鼠标悬停在任务栏程序窗口,不显示提示信息的问题
修正:文件管理器不能打开文件夹快捷方式的问题
修正:文件管理器中未选中文件按回车时,提示找不到文件的问题
修正:WinXShell.lua脚本中的对WES环境的不正确处理的问题
修正:WinXShell.lua脚本中路径不正确导致无法启动UI的问题
改善:提供适配最新版ClassicShell(Open-Shell)的方法
改善:从ZIP格式中直接读取jcfg配置参数(目录结构更简洁)
改善(视觉):文件管理器支持新版本的暗黑主题(其实什么也没做)
改善(视觉):开始按钮采用新风格
改善(视觉):任务栏各图标大小间距更接近新系统
改善(视觉):任务栏上的任务窗口显示风格(仅图标,下划线)
新增(UI):WIN10系统风格日历,声音设定界面
新增(UI):UI_Launcher显示开始菜单程序树
新增(UI):UI_Shutdown增加全屏模式界面
新增(UI):UI_Logon/UI_LOCK登陆与锁定界面
自定义扩充:开始按钮按下背景颜色
自定义扩充:快速启动按钮间距
自定义扩充:任务栏任务窗口显示模式(图标+标题 或 仅图标)
自定义扩充:任务栏任务窗口是否绘制下划线及其颜色
自定义扩充:快速启动栏的固定项目是否显示(显示桌面,文件管理器)
自定义扩充:是否显示时钟区域
自定义扩充:是否显示托盘显示隐藏图标按钮
自定义扩充:是否显示开始菜单中的文件管理器



  1. "JS_TASKBAR":
  2.   {
  3.     "bkcolor":[0,122,204],
  4.     "task_line_color":[240,240,240],
  5.     "no_task_title":true
  6.   },
  7.   "JS_NOTIFYAREA":
  8.   {
  9.     "hide_toggle_button":true
  10.   },
  11.   "JS_NOTIFYCLOCK":
  12.   {
  13.     "visible":true
  14.   },
  15.   "JS_STARTMENU":
  16.   {
  17.     "start_pushed_bkcolor" : [0, 100, 180],
  18.     "start_icon_comment": "empty;custom",
  19.     "start_icon": "custom",
  20.     "nofileexplorer":true
  21.   },
  22.   "JS_QUICKLAUNCH":
  23.   {
  24.     "hide_showdesktop":true,
  25.     "hide_fileexplorer":true
  26.   }
复制代码
回复

使用道具 举报

135#
 楼主| 发表于 2018-12-23 22:43:22 | 显示全部楼层
xintiandi 发表于 2018-12-23 21:05
期待楼主登录界面版本的更新,不知道年前能更新不,能否透露一下登录机制的细节,我现在的环境是,系统启动 ...


WinXShell有2个月没更新了。暂时也没功能更新的计划。工作上有些忙,顾不过来。脚本工具偶尔写写。登录界面我这里的类似PECMD的password吧,就是有个密码输入框,其他的不能点不能切。你发我的是系统的logon.zip,估计那种相当的WIN+L锁屏,好的没用过的API。。。实现起来有点复杂,
记住密码本身对程序来说不难。

点评

每个demo的样式不一样,我们现在用的是这个WindowSampleCredentialProvider,编译完成后,有个dll文件,先导入注册表,替换哪个dll文件,估计要在pe下替换,重启后就能看到效果了。  详情 回复 发表于 2018-12-28 11:13
回复

使用道具 举报

136#
 楼主| 发表于 2018-12-28 12:14:28 | 显示全部楼层
xintiandi 发表于 2018-12-28 11:43
至于你说的这2条,我还没有完全理解明白,
会闪动一下。另外,winlgon的shell从eshell改成 explorer,explo ...

到了登录界面。你按WIN+D组合键就系统桌面了,Motro界面就关闭了。

随便按个字母(比如:D)看看,是不是右边出来搜索命令的对话框了。
如果你输入 “桌面” 回车 也可以进去的。

所以用autoit写个脚本,编译为exe,做成开机启动项,带个简单的Sleep(秒)延时操作。
测试可以的。



[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"shell"="eshell.exe"

改成

"shell"="explorer.exe,explorer.exe"

不通过Custom Launcher走(反正用explorer的时候,退出不会自动重启explorer)。

点评

我发给你的系统,改成explorer后,桌面右下角有个许可证过期的水印,这个有没有办法找到是哪个文件在控制显示,我找了几次,都没有搞定。  详情 回复 发表于 2019-1-4 12:16
今天测试发一个问题,你可以试试,在我发给你的wes8上测试winxshell,桌面上右键屏幕分辨率会卡一阵才出来,当然前提是不运行explorer,系统启动后只运行cmd或者仅运行winxshell,通过winxshell在桌面上右键屏幕分辨  详情 回复 发表于 2018-12-29 11:46
你说的是自动关掉metro的问题吧。我还以为你是说之前wes8下,不运行explorer,会导致winxshell卡的问题。最近在配置mysql的数据同步之类,抽时间看了一点逆向技术,年底太忙了。 win+d,是可以关闭,开始菜单也可以  详情 回复 发表于 2018-12-28 12:58
回复

使用道具 举报

137#
 楼主| 发表于 2019-2-2 18:20:36 | 显示全部楼层
lwb1 发表于 2019-2-2 16:24
explorer++.exe放那个目录?

如果要你把内核补充下,可以使用内置文件打开对话框的话,就有了。

文件打开对话框(NewFileOpenDlg)

文件
  1. Windows\System32\ExplorerFrame.dll
  2. Windows\System32\shellstyle.dll
  3. Windows\System32\StructuredQuery.dll

  4. ;some version of WIN10 need this file,
  5. ;some version will broke if have this file.
  6. Windows\System32\edputil.dll
复制代码


注册表
  1. Windows Registry Editor Version 5.00

  2. ;explorerframe.dll
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}]
  4. @="Explorer Navigation Bar"
  5. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}\InProcServer32]
  6. @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  7.   00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  8.   70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  9.   00,6c,00,6c,00,00,00
  10. "ThreadingModel"="Apartment"

  11. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}]
  12. @="Shell Name Space ListView"
  13. [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32]
  14. @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  15.   00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  16.   70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  17.   00,6c,00,6c,00,00,00
  18. "ThreadingModel"="Apartment"
  19. ;@="X:\\Windows\\system32\\explorerframe.dll"
复制代码
回复

使用道具 举报

138#
 楼主| 发表于 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 赞一个!

查看全部评分

回复

使用道具 举报

139#
 楼主| 发表于 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
回复

使用道具 举报

140#
 楼主| 发表于 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。
回复

使用道具 举报

141#
 楼主| 发表于 2019-2-3 21:38:15 | 显示全部楼层
lwb1 发表于 2019-2-3 21:02
能正常运行了,再问个问题,
这些图标可以弄好看一点么?

不错。看来这个补丁WIN7PE也适用。



这个是系统的,和第3方不一样,没很强的自定义,就是稳定易用。这个就是 文件打开对话框,记事本,打开是一样的,我稍微处理了下 打开,取消 按钮。如果正常系统有方法能修改,那么就可以,我只是借用系统功能。
回复

使用道具 举报

142#
 楼主| 发表于 2019-2-16 21:26:08 | 显示全部楼层
本帖最后由 slore 于 2019-2-16 21:30 编辑

有好几月没更新了, 修复WinXShell.lua的一些小问题,
然后, 添加一个高仿 任务栏设置 界面, 颜色里面可以切换 暗黑主题(v1809).
(即时生效,不用强杀explorer.exe进程)




WinXShell_x64.zip (2.41 MB, 下载次数: 23)
WinXShell_x86.zip (2.26 MB, 下载次数: 11)

之后有时间了,把 分辨率, 语言设定整合进来,
另外会添加一个深色的界面, 当使用暗黑主题时表示.


提供-luacode  <lua_code> 和-script <lua_file> 接口, 一些简单的设定可以直接用命令行来调用.

  1. WinXShell.exe -luacode app:run('notepad.exe')
  2. WinXShell.exe -luacode wxsUI('UI_Settings')
  3. WinXShell.exe -luacode Taskbar:AutoHide(1)
  4. WinXShell.exe -luacode Taskbar:UseSmallButtons(1)
  5. WinXShell.exe -luacode Taskbar:CombineButtons('never')
复制代码


使用explorer的PE下启动daemon模式:WinXShell.exe -daemon

右键explorer的任务栏,选择 "任务栏设置" 将打开 这个"高仿任务栏设置"界面,
也可以自己做快捷方式直接调用:WinXShell.exe -ui -jcfg wxsUI\UI_Settings.zip

点评

等你的usb删除正常使用  详情 回复 发表于 2019-2-16 21:33
回复

使用道具 举报

143#
 楼主| 发表于 2019-2-20 12:30:50 | 显示全部楼层
my9823 发表于 2019-2-20 11:04
老大,完善下你的那个win10xpebuider吧,喜欢用winxshell,那个批处理需要添加文件和修改注册表吗?

winxshell作为外壳的脚本已经有了。把文件放进去就好了。

D:\dev\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\WinXShell
D:.
├─X_x64
│  └─Program Files
│      └─WinXShell
│          ├─lua_helper
│          ├─wxsUI
│          ├─WinXShell.exe
│          ├─WinXShell.jcfg
│          ├─WinXShell.lua
│          ├─wxsStub.dll
│          └─wxsStub32.dll
│   
└─X_x86
    └─Program Files
        └─WinXShell
回复

使用道具 举报

144#
 楼主| 发表于 2019-2-20 15:34:57 | 显示全部楼层
my9823 发表于 2019-2-20 15:12
老大,假如是改别人的pe,他们是explorer+startisback,加入winxshell,怎么改?

把winxshell放进去,pecmd.ini中的SHEL命令,改成启动
SHEL WinXShell.exe -winpe


开始菜单,不能用 startisback这个检查必须是 explorer。可以使用 ClassicShell,这个已经开源了叫 OpenShell
回复

使用道具 举报

145#
 楼主| 发表于 2019-2-20 22:59:51 | 显示全部楼层
my9823 发表于 2019-2-20 16:21
老大意思是删了startisback目录,我用total uninstall检测实机安装注册表将近20多条,逐一清理吗?

目录删除不删除不影响,其实注册表不删除好像也没事,不过既然不能用留在占空间.

具体删除注册表项你可以参考:
D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\za-StartMenu\StartIsBack\SIB_RegDefault.reg
D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\za-StartMenu\StartIsBack\SIB_RegSoftware.reg

中添加的内容,最主要的是CLSID中带StartIsBackXX.dll的项目.
回复

使用道具 举报

146#
 楼主| 发表于 2019-2-20 23:15:01 | 显示全部楼层
my9823 发表于 2019-2-20 15:12
老大,假如是改别人的pe,他们是explorer+startisback,加入winxshell,怎么改?

如何使用ClassicShell > 4.2.5版本?

随着ClassicShell无法跟随微软的Windows 10半年更新且存在很多"创新", ClassicShell作者停止维护,并开源了该项目.
https://github.com/Open-Shell/Op ... llSetup_4_4_131.exe


目前在github上继续维护, 从源码发现ClassicShell会检查外壳程序的名称是否是explorer.exe,所以无法在WinXShell.exe作为外壳的情况下工作.

  1. if (_wcsicmp(PathFindFileName(path),L"explorer.exe")==0)
复制代码


解决方法很简单:
方法1. 改名WinXShell.exe为explorer.exe

方法2(推荐). 使用支持二进制文件编辑的工具,例如HexD,UltraEdit,修改e.x.p.l.o.r.e.r...e.x.e.字符串为W.i.n.X.S.h.e.l.l...e.x.e.,
请注意该字符串是是Unicode存储的,建议搜索16进制:
  1. 65 00 78 00 70 00 6C 00 6F 00 72 00 65
复制代码
回复

使用道具 举报

147#
 楼主| 发表于 2019-2-21 20:42:42 | 显示全部楼层
wsgdmzr 发表于 2019-2-21 14:50
请问slore大,我用17763.107版本的BOOT.WIM手工制作PE,用了WinXShell代替explorer,开机能进入桌面,也有我 ...

你先确认你WIN+R的运行窗口, 的"浏览", 任务管理器的"新建任务", "浏览" 是否可用.

如果你不使用第三方文件管理器, 你需要补充内核,是这个功能可以用,如果功能可以用了,
那么"我的电脑","回收站"等就可以访问了.

点评

感谢slore大回复,已经放弃了手工自制PE,目前用了slore大的PE制作工具,简单明了,希望slore大早日完善网络驱动跟音频驱动命令,谢谢。  详情 回复 发表于 2019-2-24 11:09
回复

使用道具 举报

148#
 楼主| 发表于 2019-3-3 01:52:43 | 显示全部楼层
本帖最后由 slore 于 2019-3-3 16:46 编辑

2019-03-03 RC4.0 更新:
WinXShell_RC4.0.7z (2.14 MB, 下载次数: 896)

1.UI界面统一, 暂时模仿Windows 10 的简洁风格,同时支持暗黑主题。
2.新做了一个UI_Settings,可以设置任务栏,颜色等设置,合并了分辨率设置界面。
WinXShell.exe -daemon启动后,右键任务栏,设定即可。
同时,时钟区域,单击显示日历,双击启动 datetime.cpl。

运行输入: ms-settings:taskbar 也可以打开设定界面。
ms-settings:display 将打开 分辨率界面。
分辨率设定支持"-fixscreen"参数,将修复PE中切换分辨率时,桌面与任务栏显示不正确的问题

3.导出了很多设定为lua的脚本函数,可以通过命令行来设定。

rem 运行程序
WinXShell.exe -luacode app:run('notepad')
rem 播放wav文件
WinXShell.exe -luacode app:call('play','x:\\windows\\media\\startup.wav')
rem 设置静音
WinXShell.exe -luacode Volume:Mute(1)
rem 屏幕旋转
WinXShell.exe -luacode app:call('Screen::Set','rotation',1))
rem 屏幕分辨率
WinXShell.exe -luacode app:call('Screen::Set','resolution',1024,768)
rem 需要添加到lua_helper\shell_helper.lua
rem WinXShell.exe -luacode Screen:Set('rotation',1)
rem WinXShell.exe -luacode Screen:Set('resolution',1024,768)
rem 任务栏自动隐藏
WinXShell.exe -luacode Taskbar:AutoHide(1)
rem 任务栏使用小图标
WinXShell.exe -luacode Taskbar:UseSmallButtons(1)
rem 任务栏按钮合并设定
WinXShell.exe -luacode Taskbar:CombineButtons('never')
rem 启动UI组件
WinXShell.exe -luacode wxsUI('UI_WIFI')
等等

4. 关机的全屏模式,支持自定义背景图片已经模糊界面,默认使用系统壁纸。
WinXShell.exe -ui -jcfg UI_Shutdown.zip\full.jcfg
WinXShell.exe -ui -jcfg UI_Shutdown.zip\full.jcfg -blur 5  (模糊特效,级别5)
WinXShell.exe -ui -jcfg UI_Shutdown.zip\full.jcfg -bk X:\files\abc.jpg       (全路径将使用系统中的文件)
WinXShell.exe -ui -jcfg UI_Shutdown.zip\full.jcfg -bk bk.jpg            (只有文件名时,使用UI_Shutdown.zip资源包中的图片)
WinXShell.exe -ui -jcfg UI_Shutdown.zip\full.jcfg -blur 5 -bk bk.jpg  (-blur和-bk选项同时指定时,请把-blur写道前面)


英文截图:



20H1 PE 中文截图:

点评

能不能搞个列表:以这个做shell,可以减去哪些与ms-explorer相关的文件,而不影响其他功能  详情 回复 发表于 2019-3-4 15:01
回复

使用道具 举报

149#
 楼主| 发表于 2019-3-4 23:02:26 | 显示全部楼层
xintiandi 发表于 2019-3-4 21:13
登录框,你不是说只是针对winxshell的界面,不会依赖wes环境吧,难道你是打算接管系统的登录验证框,通过ap ...



winxshell的话,配合你之前的md5密码,这个程度很容易。和关机画面一样。。。

点评

你这个界面是系统的登录界面吧,不是winxshell,我暂时只需要winxshell的,上次你发这个界面不错,能分享一下吗,暂时只需要开机启动后自动运行winxshell,显示下面的登录框,等待输入密码后,才能进行其他操作,可  详情 回复 发表于 2019-3-21 18:08
其实我更希望不是windows的界面,能够内置1款linux的界面更好。可以根据配置来修改。  详情 回复 发表于 2019-3-5 13:46
回复

使用道具 举报

150#
 楼主| 发表于 2019-3-21 21:36:43 | 显示全部楼层
xintiandi 发表于 2019-3-21 18:08
你这个界面是系统的登录界面吧,不是winxshell,我暂时只需要winxshell的,上次你发这个界面不错,能分 ...

之前的界面不是系统登录的,就是WinXShell我打算做PE的用户切换用的,
还有这个界面,或者你可以发一个发行版的LINUX桌面样子,
WinXShell界面,文本,按钮都可以做到的。

问题是你说的锁定这个问题,我一直没时间去调查,所以就放着了。


PENetwork有au3的源代码,你可以看它用了什么API。(或者读取注册表?)

我很久以前VB6写过一个命令,不过换了很多电脑找不到。记得是一个简单的API,
不过没测试是否断开也可以改。

点评

这样的界面行不,至于桌面图标的布局没有,PENetwork是可以修改的,好像最新的win10不行,我先看看。谢谢。 [attachimg]389700[/attachimg] [attachimg]389701[/attachimg]  详情 回复 发表于 2019-3-21 22:20
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-23 21:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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