zjjzjj 发表于 2019-8-19 13:08:02

nn

zjjzjj 发表于 2019-8-19 14:44:32

好像不太一样

slore 发表于 2019-9-16 09:29:04

对于要求的一些修改进行了处理。还有个别的自己打算做的,估计到10月份了。
有兴趣的可以先试用。

2019-09-16 更新:





[*]命令行支持ms-settings协议, WinXShell.exe ms-settings:taskbar, WinXShell.exe ms-settings:display可打开对应的wxsUI界面
[*]开始菜单最左边位图可使用lua函数自定义,默认"Windows",PE下显示"Windows PE",可设定不显示字样,以及提供3个自定义位图资源
[*]快速启动栏新增visible设定,设定为false可以隐藏整个快速启动栏
[*]快快速启动栏支持自定义路径,默认改为"Quick Launch\User Pinned\TaskBar"
[*]快速启动栏新增"隐藏用户图标按钮(hide_usericons)"选项禁止加载快速启动路径图标
[*]时钟区显示格式可以使用lua函数自定义(显示星期,上午下午,13点显示午休,20点游戏,随自己喜欢随意订制)
[*]最右边添加显示桌面按钮(可配置是否显示)
[*]wxsUI新增韩语资源
[*]声音设定界面改善,去掉声音设定按钮,改为右侧数字点击表示(界面简洁化,去掉多语言文件)
[*]我的电脑属性界面添加滚动条



2019-10 更新计划:

[*]无线网络界面自动检测netporfm服务状态,不可用时,不获取有限网络状态,避免卡死
[*]当WinXShell作为外壳时,Taskbar:Pin可以添加命令到快速启动栏
[*]修复Taskbar:UnPin直接文件名时,无法取消固定的问题
[*]显示设定界面新增亮度设定

slore 发表于 2019-9-16 09:32:41

关于快速启动栏,有分隔符时,固定在任务栏的图标数 > 单行最大图标数 - 2时,
会新一行显示,所以导致第一行右侧有大块空白表示。

设置 ::隐藏分隔符 即可。
或者 修改 ::单行最大图标数 为 0,让其全部显示。

liuzhaoyzz 发表于 2019-9-16 10:02:00

本帖最后由 liuzhaoyzz 于 2019-9-16 10:12 编辑

       2019-09-16 更新:
WinXShell_rc4.2beta2.7z (2.43 MB, 下载次数: 3)
1、我尝试了这个版本,从WinXShell_RC4.0\WinXShell_rc4.2beta2\WinXShell_x64这个目录进入cmd,然后winxshell -winpe,winxshell取代了默认的资源管理器作为shell,任务栏快速启动区和已经没有空白区域了。
2、start WinXShell.exe -ui -jcfg wxsUI\UI_WIFI.zip\main.jcfg运行这个,托盘区wifi正常。
3、start WinXShell.exe -ui -jcfg wxsUI\UI_Volume.zip -nobeep运行这个,托盘区音量功能正常。
很好的改进。
系统转化而来的UEFI启动的RAMOS,我觉得可以用explorer.exe作为shell+startisback+UI_WIFI+UI_Volume这个组合,因为explorer.exe作为默认shell,以及startisback作为开始菜单,接受程度更高。正常系统下,WINXshell作为shell存在新建、改名文件shell不会自动刷新列表的问题,如果要改进这个问题,需要修改系统文件,太麻烦了。

至于WIN10PE,我觉得还是用WINXshell+UI_WIFI+UI_Volume这个组合更好,因为WINXshell轻量化,可以抛弃penetwork,PE的开始菜单只要能够点开就行了,WINXshell自带开始菜单,PE的使用时间少,shell不会自动刷新的问题,因为PE使用时间少,这只是个小事情,大不了自己右击手工刷新下即可,应该容易被大家接受。

slore 发表于 2019-9-16 10:11:36

liuzhaoyzz 发表于 2019-9-16 10:02
1、我尝试了这个版本,从WinXShell_RC4.0\WinXShell_rc4.2beta2\WinXShell_x64这个目录进入cmd, ...

漏了一个,新增-shell参数,将结束当前外壳程序,WinXShell作为外壳程序启动。

你要是不是PE环境的话,运行这个,开始菜单可以保持Windows字样。

liuzhaoyzz 发表于 2019-9-16 10:16:06

      
winxshell -winpe
winxshell -shell
这两个命令,在正常系统下面使用,没有什么区别啊?都会杀掉explorer.exe进程,然后用winxshell作为shell啊?

liuzhaoyzz 发表于 2019-9-16 10:25:08

本帖最后由 liuzhaoyzz 于 2019-9-16 10:46 编辑

       另外,"wirednetworkicon":false,这个参数为什么不加入WinXShell_rc4.2beta2\WinXShell_x64\wxsUI\UI_WIFI\main.jcfg里面去?无论是设置为true还是false,总要弄一个最好,不查找资料的话,记不住名字啊。我更喜欢false,因为无论netprofm服务是否启动,都可以用。显示连接或者断开,根本不重要啊。点开之后就能看到wifi是否已连接。
这个参数的作用是忽略netprofm服务的状态,直接在托盘区显示扇形图标。(备忘)

slore 发表于 2019-9-16 10:38:47

liuzhaoyzz 发表于 2019-9-16 10:16
这两个命令,在正常系统下面使用,没有什么区别啊?都会杀掉explorer.exe进程,然后用winxsh ...

winpe会当做PE模式,修改USERPROFILE环境变量,开始菜单位图也会变。不过自动检查了环境变量是不是默认值,所以也没啥影响,
就是开始菜单字样,还有意思更明确吧。毕竟,不是PE环境,-winpe参数意思怪怪的。

WIFI的这个参数,
4.2正式版我添加上吧,自动检测了应该就不用配置了。

liuzhaoyzz 发表于 2019-9-16 10:43:48

本帖最后由 liuzhaoyzz 于 2019-9-16 10:49 编辑

      另外,winxshell -shell,如果用winxshell作为shell,网络和internet设置是空白,我觉得这一类的CLSID参数传递,最好还是用自带的shell来调用,winxshell解析的时候会有问题吧?

slore 发表于 2019-9-16 10:51:07

本帖最后由 slore 于 2019-9-16 10:52 编辑

liuzhaoyzz 发表于 2019-9-16 10:43
另外,如果用winxshell作为shell,网络和internet设置是空白,我觉得这一类的CLSID参数传递,最好 ...

WinXShell作为shell,系统有explorer.exe可以打开,没有的话,控制面板是无法使用的。这里由系统处理的。当初做这个是exploerer配合用的,winxshell作为外壳,一半是精简环境不带exploerer组件的,没必要控制面板,所以这里是配置的,可以改成PENetwork如果想改IP啥的,第三方工具比较集中。
将来,UI_Network界面做的话,可以打开自定义的界面,
环境太多,默认值按照正常系统走的。


防火墙,按钮是直接,启用,禁用防火墙,颜色会变暗,不是打开控制面板,没有问题。

liuzhaoyzz 发表于 2019-9-16 10:57:11

      WinXShell作为shell,系统有explorer.exe可以打开,没有的话,控制面板是无法使用的。
似乎不对啊?我测试了无论winxshell还是explorer.exe作为shell,现在UI_WIFI托盘区网络和internet设置都是用winxshell打开的,都是空白啊?
    "netsetting":{
      "command":"control.exe",
      "parameters":"/name Microsoft.NetworkAndSharingCenter"
    },
我试了直接在开始菜单运行control.exe /name Microsoft.NetworkAndSharingCenter也是用winxshell来解析的,进程里面有exploer.exe,文件也存在,网络和internet设置里面还是645楼的空白啊?

slore 发表于 2019-9-16 11:06:04

本帖最后由 slore 于 2019-9-16 11:07 编辑

liuzhaoyzz 发表于 2019-9-16 10:57
似乎不对啊?我测试了无论winxshell还是explorer.exe作为shell,现在UI_WIFI托盘区网络和interne ...

WimBuilder2你构建一个带网络,启用网络和共享中心的PE试试。
或者正常系统下运行UI_WIFI。

另外,正常系统下的话,想退出,左下角3个像素有隐藏退出按钮。。。
想起来了,下个版本,还得补下右键退出菜单。

liuzhaoyzz 发表于 2019-9-16 11:13:27

本帖最后由 liuzhaoyzz 于 2019-9-16 11:25 编辑

       WimBuilder2你构建一个带网络,启用网络和共享中心的PE试试。
上一个wimbuilder2_20190901release版本,如果用lua启动器+winxshell作为shell,只要勾选启用网络和共享中心,构建PE无法启动,会自动重启,搭配winxshell4.2beta2,我还没有尝试,晚点有空试下。

或者正常系统下运行UI_WIFI。
我现在就是在正常系统下面尝试的,运行winxshell -winpe或者winxshell -shell之后,无论是UI_WIFI模块里面的“网络和internet设置”,还是windows系统自带的网络和共享中心,都打不开了,都是用winxshell进行解析,解析的结果是空白,645楼有截图。
control.exe /name Microsoft.NetworkAndSharingCenter也不行了,而且shell也不会自动刷新文件列表了。似乎winxshell直接hook了explorer.exe。


liuzhaoyzz 发表于 2019-9-16 11:17:28

本帖最后由 liuzhaoyzz 于 2019-9-16 11:22 编辑

      另外,我写了几个批处理,用于快速切换explorer.exe和winxshell作为shell,用于体验以及demo。放到winxshell.exe同目录。
你原来的UI_TEST.bat好多啊。我节选了。
用winxshell作为shell.bat
@echo off
winxshell -winpe


用explorer.exe作为shell.bat
@echo off
taskkill /f /t /im WinXShell.exe
start %SystemDrive%\Windows\explorer.exe


WIFI_TEST.bat
cd /d "%~dp0"
rem start WinXShell.exe -ui -jcfg wxsUI\UI_Volume.zip -nobeep
rem pause
rem start WinXShell.exe -ui -jcfg wxsUI\UI_WIFI.zip -hidewindow
start WinXShell.exe -ui -jcfg wxsUI\UI_WIFI.zip
pause


liuzhaoyzz 发表于 2019-9-16 11:34:48

      网络共享中心,控制面板的要搭配explorer,加载器随便,启动UI_WiFi可以试试。
晚点我试下,explorer.exe+UI_WIFI似乎可以,组合太多,记不清了。但是PE里面不是想要抛弃explorer.exe减肥的吗。
wimbuilder2里面,网络和共享中心后面,应该加个括号备注下,必须依赖explorer.exe作为shell,否则让人走弯路。

liuzhaoyzz 发表于 2019-9-16 11:45:12

本帖最后由 liuzhaoyzz 于 2019-9-16 11:50 编辑

网络和共享中心没选啊,lua+winxshell选了网络和共享中心,PE就启动不了啊。
另外,正常系统下的话,想退出,左下角3个像素有隐藏退出按钮
这个按钮好隐蔽啊,鼠标移到UI_WIFI最左下角,会变成小手形状,点了就退出winxshell的UI_WIFI插件,之前我一直暴力杀进程。这个设计挺好的,没必要退出,应该隐藏起来。

liuzhaoyzz 发表于 2019-9-16 14:56:57

本帖最后由 liuzhaoyzz 于 2019-9-16 15:20 编辑

      请教下slore大神,winxshell对于移动设备弹出托盘,有没有解决方案,必须用系统的_dsmsvc吗?系统的移动设备弹出太大了啊,大概7MB。能否调用pecmd.exe到托盘弹出?是否还需要其他的文件依赖?现在pecmd.exe已经在系统里面了。

新增:劫持快捷方式右键打开所在目录,属性中打开所在目录响应,自定义快捷方式的打开所在文件方法。可以去掉ieframe.dll+wow64\ieframe.dll(24MB)
我尝试去掉ieframe.dll之后,似乎屏幕分辨率不能更改,附图。不知道是不是去掉了ieframe.dll的问题的原因。

slore 发表于 2019-9-16 15:15:30

liuzhaoyzz 发表于 2019-9-16 14:56
请教下slore大神,winxshell对于移动设备弹出托盘,有没有解决方案,必须用系统的_dsmsvc吗?系统 ...

第三方的hotswap!就好用啊。


ieframe.dll去掉的话,原生的ms-settings接口不能用。

直接修改注册表菜单调用 WinXShell的UI_Settings,也可以用
WinXShell.exe ms-settings:display

liuzhaoyzz 发表于 2019-9-16 15:19:32

本帖最后由 liuzhaoyzz 于 2019-9-16 15:24 编辑

slore 发表于 2019-9-16 15:15
第三方的hotswap!就好用啊。




HotSwap!还有弹出usb的功能吗?我一直以为这个软件是停止硬盘的,晕了!

ieframe.dll去掉的话,原生的ms-settings接口不能用。

直接修改注册表菜单调用 WinXShell的UI_Settings,也可以用
WinXShell.exe ms-settings:display
想问下在桌面空白处弹出右击菜单,那个显示设置和个性化,对应的是哪个注册表?
怎么修改修改注册表菜单调用 WinXShell的UI_Settings?


slore 发表于 2019-9-16 15:34:37

本帖最后由 slore 于 2019-9-16 15:37 编辑

liuzhaoyzz 发表于 2019-9-16 15:19
HotSwap!还有弹出usb的功能吗?我一直以为这个软件是停止硬盘的,晕了!




Windows Registry Editor Version 5.00


@="WinXShell.exe ms-settings:display"
"DelegateExecute"=-
;"DelegateExecute"="{556FF0D6-A1EE-49E5-9FA4-90AE116AD744}"

HKEY_CLASSES_ROOT\DesktopBackground\Shell\Personalize\command
@="WinXShell.exe ms-settings:personalization-background"
"DelegateExecute"=-

如果WinXShell.exe第一次启动的时候带了-regist,注册表不需要写全路径,可以直接识别。
如果没有,你需要写全路径。(你可以用notepad.exe测试)

liuzhaoyzz 发表于 2019-9-16 15:41:18

本帖最后由 liuzhaoyzz 于 2019-9-16 15:45 编辑

       晚点我试下。 如果WinXShell.exe第一次启动的时候带了-regist,注册表不需要写全路径,可以直接识别。   
wimbuilder2默认winxshell为shell,在哪里加-regist参数?你所说的不需要写全路径,指的是winxshell.exe所在的全路径吗?
另外hotswap能否在注册表或者配置文件中设置只让他弹出优盘,默认的似乎是弹出硬盘?

liuzhaoyzz 发表于 2019-9-16 16:26:41

WimBuilder2中的注册表,硬盘和USB设备都弹出
我想设置设备类型为USB设备,硬盘我不想让他弹出,可有注册表之类的的可修改啊?

slore 发表于 2019-9-16 16:30:38

liuzhaoyzz 发表于 2019-9-16 16:26
我想设置设备类型为USB设备,硬盘我不想让他弹出,可有注册表之类的的可修改啊?

D:\Dev\WimBuilder2\Projects\WIN10XPE\02-Apps\HotSwap\main.bat
reg add "HKLM\Tmp_Default\Software\HotSwap^!" /v DFlags /t REG_DWORD /d 0x10000003 /f

你设置好你想要的选项,HKCU下面这个注册表值。

liuzhaoyzz 发表于 2019-9-16 17:00:32

本帖最后由 liuzhaoyzz 于 2019-9-16 17:18 编辑

   
移动设备似乎是这个注册表:   
Windows Registry Editor Version 5.00


"DFlags"=dword:00000002

@echo off
reg add "HKLM\Tmp_Default\Software\HotSwap^!" /v "DFlags" /t REG_DWORD /d 2 /f



slore 发表于 2019-9-16 18:35:52

liuzhaoyzz 发表于 2019-9-16 15:19
HotSwap!还有弹出usb的功能吗?我一直以为这个软件是停止硬盘的,晕了!




发现WimBuilder2已经自动处理了。。。

D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\last.bat
rem Display, Personalize
if not exist "%X_SYS%\ieframe.dll" (
    reg add HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Display\command /d "WinXShell.exe ms-settings:display" /f
    reg delete HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Display\command /v DelegateExecute /f
    reg add HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Personalize\command /d "WinXShell.exe ms-settings:personalization-background" /f
    reg delete HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Personalize\command /v DelegateExecute /f
)

和WinXShell关系不大吧,稍微把WimBuilder2的“精简”处理了下,
提供了“安全精简”选项,对字体,键盘,winre自带工具等进行精简。
Default去掉IME,勾选精简项目,纯64位,343MB。

liuzhaoyzz 发表于 2019-9-16 18:59:15

本帖最后由 liuzhaoyzz 于 2019-9-16 19:12 编辑

1、在你这个回复之前,我也写了个类似的注册表。不过这个注册表似乎是无效的。我进入PE之后发现对应的注册表没有被更改。我很好奇为什么会失败。是不是挂载的注册表路径不对?这样的注册表是被挂载到HKLM\Tmp_SOFTWARE\Classes\DesktopBackground\Shell\Display\command吗?HKCR是HKLM\SOFTWARE\Classes的映射我知道,
main.bat
reg add "HKLM\Tmp_SOFTWARE\Classes\DesktopBackground\Shell\Display\command" /ve /d "WinXShell.exe ms-settings:display" /f
reg delete "HKLM\Tmp_SOFTWARE\Classes\DesktopBackground\Shell\Display\command" /v "DelegateExecute" /f
rem "DelegateExecute"="{556FF0D6-A1EE-49E5-9FA4-90AE116AD744}"
reg add "HKLM\Tmp_SOFTWARE\Classes\DesktopBackground\Shell\Personalize\command" /ve /d "WinXShell.exe ms-settings:personalization-background" /f
reg delete "HKLM\Tmp_SOFTWARE\Classes\DesktopBackground\Shell\Personalize\command" /v "DelegateExecute" /f
2、你在656楼的注册表,第二段少了[ ]号。我补齐了也不行。然后我尝试把注册表文件直接放到startup目录,也不行。
main.bat
xcopy /yh winxshell_Resolution.reg %X%\PEMaterial\AutoRuns\Startup\
我发现对应的注册表键值没有被更改。
我在PE里面直接导入注册表,提示没有权限。导入的注册表内容如下:
winxshell_Resolution.reg
Windows Registry Editor Version 5.00


@="WinXShell.exe ms-settings:display"
"DelegateExecute"=-
;"DelegateExecute"="{556FF0D6-A1EE-49E5-9FA4-90AE116AD744}"


@="WinXShell.exe ms-settings:personalization-background"
"DelegateExecute"=-


3、既然上面两个方法都不行,我也尝试了利用RunBeforeShell宏命令,结果也没用。
main.bat
copy /y winxshell_Resolution.bat %X%\PEMaterial\AutoRuns\
call RunBeforeShell %X%\PEMaterial\AutoRuns\winxshell_Resolution.bat

winxshell_Resolution.bat的内容:
@echo off
reg add "HKCR\DesktopBackground\Shell\Display\command" /ve /d "WinXShell.exe ms-settings:display" /f
reg delete "HKCR\DesktopBackground\Shell\Display\command" /v "DelegateExecute" /f
rem "DelegateExecute"="{556FF0D6-A1EE-49E5-9FA4-90AE116AD744}"
reg add "HKCR\DesktopBackground\Shell\Personalize\command" /ve /d "WinXShell.exe ms-settings:personalization-background" /f
reg delete "HKCR\DesktopBackground\Shell\Personalize\command" /v "DelegateExecute" /f

liuzhaoyzz 发表于 2019-9-16 19:20:22

本帖最后由 liuzhaoyzz 于 2019-9-16 19:25 编辑

Sorry,I made a mistake.
D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\last.bat确实对ieframe.dll进行了处理,不过ieframe.dll我是最后删除的,if not exist "%X_SYS%\ieframe.dll当时判断的时候ieframe.dll还是存在的,所以后面的注册表没有生效。我自己写的注册表又漏了一段键值,我直接截取中间的写了个补丁就行了。

rem Display, Personalize
if not exist "%X_SYS%\ieframe.dll" (
    reg add HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Display\command /d "WinXShell.exe ms-settings:display" /f
    reg delete HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Display\command /v DelegateExecute /f
    reg add HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Personalize\command /d "WinXShell.exe ms-settings:personalization-background" /f
    reg delete HKLM\Tmp_Software\Classes\DesktopBackground\Shell\Personalize\command /v DelegateExecute /f
)

liuzhaoyzz 发表于 2019-9-16 19:22:17

本帖最后由 liuzhaoyzz 于 2019-9-16 19:24 编辑

和WinXShell关系不大吧,稍微把WimBuilder2的“精简”处理了下,
提供了“安全精简”选项,对字体,键盘,winre自带工具等进行精简。
Default去掉IME,勾选精简项目,纯64位,343MB。

你是不是用的system身份?admin身份恐怕是不行吧?带有线网卡和无线网卡,网络驱动的?
你勾选了强力精简(试验性的功能)那个吗?

slore 发表于 2019-9-16 19:33:06

liuzhaoyzz 发表于 2019-9-16 18:59
1、在你这个回复之前,我也写了个类似的注册表。不过这个注册表似乎是无效的。我进入PE之后发现对应的注册 ...

TrustInstaller权限,不加权限的话,你启动导入无效。
放到_CustomFiles_\custom目录自动离线导入。
页: 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31
查看完整版本: [更新(2022/11/11) ModernUI回归] explorer再见,WinXShell你好!