无忧启动论坛

标题: [更新(2022/11/11) ModernUI回归] explorer再见,WinXShell你好! [打印本页]

作者: slore    时间: 2015-9-28 10:32
标题: [更新(2022/11/11) ModernUI回归] explorer再见,WinXShell你好!
本帖最后由 kuer 于 2024-11-17 23:50 编辑

什么是WinXShell?
支持Windows 7,8,8.1,10,11, Windows Server 2008,2012,2016,2019,2022,Windows 7/8/8.1/10/11 PE, Windows Server 2008/2012/2016/2019/2022 PE平台的代替explorer.exe的外壳程序。(目前仍有explorer.exe的功能未实现。)
特别对于Windows PE直接启动系统自带的boot.wim,无需任何内核修改,运行即可用的外壳程序。

桌面预览:






使用方法:
正常系统下,CTRL+SHIFT按住右键任务栏,或者开始菜单空白处,可以结束explorer.exe进程,
结束默认外壳程序后,运行WinXShell.exe即可。(cmd或者任务管理器)

PE系统下,
1.shift+F10打开cmd.exe命令行
2.cmd.exe下执行WinXShell.exe即可。

加了-winpe/-shell参数的话,
a) 结束已有的shell程序(wallpaperhost.exe)。
b)当USERPROFILE环境变量未更改时,自动设置为X:\Users\Default。
c)开始菜单点击重启和关机时,会从配置文件中读取相关命令定义。(附件中定义为wpeutil.exe Reboot/Shutdown)

2.任务管理器结束默认外壳程序(Win 8(.1)以及Win 10PE的wallpaperHost.exe,Win 7 PE不需要)
   不结束的话,也可使用-desktop参数强制创建桌面,但是鼠标点击桌面的话,
   其他程序窗口都切到后面看不到(PExlorer本程序当成一个全屏的应用程序了),要任务栏点程序切换。
3.设置USERPROFILE环境变量为X:\Users\Default
   不进行此操作,桌面只有回收站,且不能新建文件(夹),因为Desktop默认定义为%USERPROFILE%\Desktop,
   PE下此环境变量默认指向X:\Windows\system32\config\xxxx,这个地方没有Desktop文件夹。

4.cmd.exe下执行PExlorer.exe -winpe


2022-11-12 更新:
http://bbs.wuyou.net/forum.php?m ... &fromuid=166812

2021-11-11 更新:
http://bbs.wuyou.net/forum.php?m ... &fromuid=166812

2020-04-04 更新:
http://bbs.wuyou.net/forum.php?m ... &fromuid=166812

2019-03-03 更新:
http://bbs.wuyou.net/forum.php?m ... &fromuid=166812

20H1 PE 中文版截图:




2018-10-02 更新:
http://bbs.wuyou.net/forum.php?m ... 3832&fromuid=166812

2018-08-08 更新:
winapi_x86.zip (141.72 KB, 下载次数: 146)
x86版本lua的winapi.dll库的编译选项搞错了,编译成UNICODE版了,导致字符串无法正常识别,使用winapi库的注册表的操作,窗口操作不能正常工作。
使用x86版本的话,请替换附件中的winapi.dll到lua_helper\x86\。
其中还包含了需要-p指定密码才能运行shell的WinXShell.lua脚本(防止误操作),没有需要的话,不用替换。

2018-07-26 RC3.2.0更新:
WinXShell_x64.zip (2.19 MB, 下载次数: 460)
WinXShell_x86.zip (2.04 MB, 下载次数: 200)




winxshell.exe -daemon - gif 动画演示
https://github.com/slorelee/wimb ... e/master/winxshell/
https://github.com/slorelee/wimb ... ll/deamon_in_pe.gif  (6.66MB)




2018-04-16 RC3.1.0更新:
WinXShell_x64.zip (2.55 MB, 下载次数: 375)
WinXShell_x86.zip (2.39 MB, 下载次数: 253)





更新内容


使用方法:
WinXShell.exe运行前导入以下注册表
  1. wxsStub.reg
  2. UI_SystemInfo\handle_prop.reg
复制代码


使用explorer.exe也可以使用“我的电脑属性”,“打开快捷方式所在位置拦截”,“时钟区域点击调用事件”,使用方法如下:
WinXShell.jcfg添加
"JS_DAEMON" : {
  "handle_clockarea_click":true
}
后运行
WinXShell.exe -daemon

下版本预告:
共享目录访问认证界面


2018-03-30 RC3.0.0更新:
WinXShell_x64.zip (2.25 MB, 下载次数: 147)
WinXShell_x86.zip (2.09 MB, 下载次数: 109)



更新内容


其他1:
RS4的17133.1简单测试了下,不需要额外处理,可以正常动作。
声音设定默认(boot.wim)可以直接使用?但是好像是内部设备,实际没有效果。
网络,发现WLAN服务可以直接开启,没有对应设备,没有测试,WIFI连接没有做改动。

其他2:
1/31我的儿子出生了,所以基本上没有太多时间来更新,本打算不太做机能,只是修复BUG和适.配.新的RS4,上个周有人提出,分辨率设置改善,
所以趁机强化了下UI部分。下面的开发履历可以看到其实只有最近5,6天更新比较频繁。




其他3:
我的美工不是很好,我的电脑属性保持了系统的样子,高仿,
声音控制界面是给大家一个例子,没有模仿 系统的声音设置界面,保持一致性的话,
可以参照WIFI界面,修改。如果谁有更好的UI设计,可以分享出来。

其他4:
集成的Lua是5.3版本,需要自己扩展的话,请静态编译对应的所需插件即可使用。
附件中带了一个winapi.dll,可以使用Windows的API, 访问注册表,启动程序,操作Windows窗口,进程管理等功能。
http://stevedonovan.github.io/winapi/api.html
我的电脑属性界面,只使用了读取注册表版本,CPU信息,如果想省空间(200KB),可以删除,把获取注册表信息部分写死。

因为PE的特殊性,都是静态编译版本,体积略大,不过单文件压缩不到1MB,还是可以接受的,如果有人
自己的PE集成VC++2015,可以用动态版本,可以回复我,给编译动态版本,估计从2,3MB的大小能到500KB~800KB。

2018-01-10 RC2.7.1更新:
WinXShell_x64.zip (1.14 MB, 下载次数: 251)
WinXShell_x86.zip (1.02 MB, 下载次数: 162)



更新内容


Next


  1. WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow
  2. WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -theme darkgray
复制代码


2017-12-26 RC2.7 更新:
WinXShell_x64.zip (1.14 MB, 下载次数: 1366)
WinXShell_x86.zip (1.01 MB, 下载次数: 174)



更新内容


  1. WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg
  2. WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow
复制代码


本来打算声音设置界面,做完一起发布的,因为wlanapi.dll加载失败问题,以及一些外国网友对英文版的需求,在新年前先发布一版。

================历史版本更新说明================
没赶上RS3更新,不过多的这1周修复了不少问题。
2017-10-28 RC2.6 更新(UI技术预览版):
WinXShell_x64.zip (1.13 MB, 下载次数: 265)
WinXShell_x86.zip (1.01 MB, 下载次数: 157)



对于最新Windows 10 RS3 16299.15前版本不需要修改仍可以使用,从4月份RS2以后就没动过代码了,
趁着这次Windows 10更新,对报告的问题进行修复,以及对托盘功能进行强化。
另外最新Win10PE右键新建菜单的问题微软已经修复,不会卡死。


更新内容


Modern UI相关详细内容说明,请参考回复帖。
http://bbs.wuyou.net/forum.php?m ... 9183&fromuid=166812

2017-04-08 更新:
WinXShell_x64.zip (1.08 MB, 下载次数: 357)
WinXShell_x86.zip (986.34 KB, 下载次数: 243)



桌面图标大小指定方法:
  1.   "::桌面":
  2.   {
  3.    "iconsize":48
  4.   }
复制代码

小图标 - 24, 中图标 - 48, 大图标 - 96

如果不需要引入UI库的版本,请告知我,单独发布。

2017-01-12 更新:
*请下载最新版



因无法显示桌面图标,稍后提供一个可启动指定应用程序的桌面挂件小工具。
(文件管理器可正常使用,用这个访问桌面文件夹也可以。)
微软的问题,估计后续版本会自然解决,目前先这样。

  1.   "::桌面":
  2.   {
  3.     "no_items":true,
  4.     "force_cmdhere":false,
  5.     ...
  6.   }
复制代码


其他:
PExlorer之后将引入UI库,自己实现,类似 手机的 开始菜单(更好的支持平板),分辨率设置,带农历的日历,WIFI连接,声音选项,壁纸设置,通知栏等,
可自行使用类html格式来制定界面布局颜色等。随后程序将正式更名为x-shell(PExlorer不是个单词,PE Explorer又是别的程序,一直打算改个名字的)。
顺利的话,估计6,7月能完。


2016-12-19 更新:
*请下载最新版(不配置no_items参数即可正常显示桌面)



ClassicShell不设置替换开始按钮的话,无法响应鼠标左右键点击,所以请使用3态开始按钮图标,
PExlorer的开始图标可配置为空,可根据自己选择的开始按钮图标设置右侧余白大小(下例的图标是40x120像素的,所以不需要设置偏移量,ClassicShell的标准贝壳图标的话,设置8像素会好看些)

  1.   "::开始菜单":
  2.   {
  3.     "start_icon":"empty",
  4.     "start_padding":8,
  5.     ...
  6.   }
复制代码


注意:ClassicShell请使用4.2.5版本。



FYI
3态开始按钮图标制作说明
http://www.classicshell.net/tutorials/buttontutorial.html
论坛给出的一些图标例子
http://www.classicshell.net/foru ... 3b40e833d483ee1403c

2016-09-16 RC 2.4.2 更新:
PExlorer_x64.zip (572.45 KB, 下载次数: 207)
PExlorer_x86.zip (498.88 KB, 下载次数: 181)



onDisplayChanged定义时,当分辨率变化会调用定义的命令。showflags(0-隐藏调用,1-正常显示,默认值为:1)和parameters参数可省略。
  1.   "JS_TASKBAR":
  2.   {
  3.     "bkcolor":[0,122,204],
  4.     "onDisplayChanged": {
  5.          "command": "app.exe",
  6.          "showflags":1,
  7.          "parameters":""
  8.     }
  9.   }
复制代码



2016-07-31 RC 2.4.1 更新:
*请下载最新版



新方案,支持全版本不用因为shell32版本不同而要修改配置了。
如果自己修改了shell32.dll或者不使用内置文件管理器可以通过:
"JS_FILEEXPLORER"下面的hook_GetShellWindow设置为false将禁用(默认值为true)。
注意新方案目前只会影响PExlorer.exe进程,如果使用notepad,任务管理器等的文件打开对话框时,仍然不会自动刷新。

开始菜单设置,以下为默认值,默认值的话可以缺省不设置

  1. "JS_STARTMENU":
  2.   {
  3.    "nosettings":true,
  4.    "nobrowse":false,
  5.    "nobrowse_network":true,
  6.    "nofind":true,
  7.     "norun":true,
  8.     "nologoff":true,
  9.     "norestart":false,
  10.     "noshutdown":false,
  11.     "noterm":true
  12.    }

复制代码


2016-05-20 RC 2.4 更新:
*请下载RC2.4.1版






2016-05-13 RC 2.3 更新:
*请下载最新版



原理及修改方法见#127楼。
http://bbs.wuyou.net/forum.php?m ... 5074&fromuid=166812

2016-05-11 RC 2.2 更新:
*请下载最新版





2016-05-06 RC 2.0 更新:
*请下载最新版











感谢ljycslg的积极反馈。

2016-02-19 RC 1.1 更新:
*请下载最新版

小幅更新。





WinXShell_c.png (1.3 MB, 下载次数: 463)

WinXShell

WinXShell

rc2.5.png (523.65 KB, 下载次数: 428)

rc2.5.png

PExlorer_x64.zip

825.76 KB, 下载次数: 179, 下载积分: 无忧币 -2

RC1.1

PExlorer_x86.zip

676.79 KB, 下载次数: 203, 下载积分: 无忧币 -2

RC1.1


作者: 826773297    时间: 2015-9-28 10:39
任务栏全部弄成白色把,谢谢楼主,另外请提供可更改开始菜单图标的缺口,谢谢
作者: 826773297    时间: 2015-9-28 10:40
任务栏程序的快捷方式小箭头请去掉,谢谢
作者: 826773297    时间: 2015-9-28 10:42
任务栏中打开的程序能显示轮廓就更好了
作者: 826773297    时间: 2015-9-28 10:43
开始菜单和任务栏等功能尽量能精简,pe下无需太多功能
作者: 826773297    时间: 2015-9-28 10:46
pe版本请删除开始菜单中的终止pexplorer功能,既然选择了楼主的资源管理器,这项功能无用
作者: andos    时间: 2015-9-28 11:00
曾经explorer还不能用时就有人找第3方的shell来替代,但是表现都很差,多半是太久没更新了的东西


楼主如果能把shell弄得美观点也不失为一个替代良方
作者: singel    时间: 2015-9-29 01:44
支持楼主
作者: slore    时间: 2015-9-29 02:57
初版先放出来,有兴趣的朋友可以测试下,把意见反馈给我。
作者: 2011npwjm    时间: 2015-9-29 08:47
谢谢楼主的分享
作者: 永恒心锁    时间: 2015-9-29 09:00
希望可以长期的做下去,越来越好
作者: 阿弥陀佛    时间: 2015-9-29 09:26
做的相当好。快速启动栏的图标删除后不会马上生效。右下角的图标太大了,而且显示不全。任务栏还有一个奇怪的图标没法删除。


作者: slore    时间: 2015-9-29 09:27
826773297 发表于 2015-9-28 10:39
任务栏全部弄成白色把,谢谢楼主,另外请提供可更改开始菜单图标的缺口,谢谢

谢谢建议,Beta 1 已经换会白色背景了。
作者: slore    时间: 2015-9-29 09:29
826773297 发表于 2015-9-28 10:40
任务栏程序的快捷方式小箭头请去掉,谢谢

谢谢建议,这个是直接去系统的快速启动目录的图标,你PE系统如果不带快捷方式的话,就不会带。
(不过如果系统默认设置的带上,任务栏确实去掉比较好,后期再完善吧。)
作者: slore    时间: 2015-9-29 09:32
826773297 发表于 2015-9-28 10:42
任务栏中打开的程序能显示轮廓就更好了

谢谢参与,当前激活的窗口会有高亮的,点到桌面或者开始菜单就都不显示轮廓了。
作者: slore    时间: 2015-9-29 09:39
阿弥陀佛 发表于 2015-9-29 09:26
做的相当好。快速启动栏的图标删除后不会马上生效。右下角的图标太大了,而且显示不全。任务栏还有一个奇怪 ...

感谢测试,图标本来都是16x16的,我在Windows下看(1920x1080),
太小了就改成32x32的,但是托盘图标是别的程序传过来的,
都是16x16的小图标,就拉伸了。下一版打算居中显示16x16的图标,
和正常系统保持一致。

快速启动栏是一次加载就定了,不重新刷新的,PE下这里不删除的吧,
后期考虑刷新。
这个应该是存在的隐藏窗口,我晚上再确认下。

作者: slore    时间: 2015-9-29 09:41
阿弥陀佛 发表于 2015-9-29 09:26
做的相当好。快速启动栏的图标删除后不会马上生效。右下角的图标太大了,而且显示不全。任务栏还有一个奇怪 ...

你快速启动栏图标数是多少啊,这里可以拖动的,拖动后是否可以完全显示?
如果是的话,我的初始宽度的计算可能不准。
作者: 阿弥陀佛    时间: 2015-9-29 09:47
slore 发表于 2015-9-29 09:41
你快速启动栏图标数是多少啊,这里可以拖动的,拖动后是否可以完全显示?
如果是的话,我的初始宽度的计 ...

就5个,可完全显示,我删了两个,重启pexplorer就剩下三个。平时在windows10不显示快速启动栏没注意。
作者: 2012qnmd    时间: 2015-9-29 10:10
这个支持下.

以前有个EmergeDesktop, 也不错. 特别是它的任务栏,仅任务栏, 兼容非常好.

这个东西,关键是稳定,好用.

1. 任务栏,能显示运行的程序,高亮当前窗口
2.系统托盘, 显示时间,网络声音等项目
3.开始菜单
4.快速启动
桌面, 能正常使用,右键

我的电脑,要能正常打开(这个需要系统的SHELL支持,但是,只需要部分文件.)

这几方面完善了,就差不多了
作者: 826773297    时间: 2015-9-29 10:44
楼主可以考虑增加个以四个图标为一组的任务栏图标,点击后可打开四个软件的窗口
作者: nttwqz    时间: 2015-9-29 10:53
楼主,你是不是很久没有跟你媳妇交公粮了……
作者: 2010smilewit    时间: 2015-9-29 11:01
打不开呀,我的原生WINPE3.0年少了点东西。


作者: slore    时间: 2015-9-29 11:44
2010smilewit 发表于 2015-9-29 11:01
打不开呀,我的原生WINPE3.0年少了点东西。

我用Visual Studio 2015开发的,需要VC 2015 Redistributable。

我测试的是Win 10 的PE,基本CRT运行库带了,所以可以直接运行。
我回头确认PE3.0下。用VS 2012编译个试试。

你可以下载下VC 2015 Redistributable,把里面的对应的32/64位版本的,api-ms-win-crt-runtime-l1-1-0.dll放进来先。

作者: boy6585948    时间: 2015-9-29 12:00
来个源码大家一起研究下!!!!
作者: 赤木刚宪    时间: 2015-9-29 12:21
LZ用VC写,还得要VC库支持。。。
作者: tegl    时间: 2015-9-29 12:41
支持原创,请楼主提供源代码,谢谢
作者: slore    时间: 2015-9-29 12:59
tegl 发表于 2015-9-29 12:41
支持原创,请楼主提供源代码,谢谢



关于源代码,90%来自ROS Explorer。
http://www.foxplanet.de/explorer/
此项目已经提供了源代码。

我目前做了以下修改:
删除xml格式的配置
x64版本编译
PE环境桌面壁纸显示
桌面图标拖拽改善
托盘提示文字显示

都不是啥核心机能。

ROS Explorer本身把核心功能就实现了,
只是项目比较早是2003年的,所以对应新系统
我测试着,改改下BUG而已,我对C++和Windows的GUI开发,
也不太熟上面的修正都是硬补丁,代码健壮性还有待测试。

等基础框架做好,项目正式版之后会放到github上开源的,
目前打开关于菜单已经放上了项目地址。

有想现在研究的,现在直接看ROS Explorer的代码即可,Win32版本
很顺利就可以编译通过。

作者: 2010smilewit    时间: 2015-9-29 13:11
slore 发表于 2015-9-29 11:44
我用Visual Studio 2015开发的,需要VC 2015 Redistributable。

我测试的是Win 10 的PE,基本CRT运行 ...

VC2015,真是太新了。不知道什么原因,我的WES7上安装不上VC2015Redistributable
作者: ChinToy    时间: 2015-9-29 13:48
谢谢楼主的分享
作者: friend8179    时间: 2015-9-29 14:32
楼主,还是静态编译,去除掉对VC库依赖吧
作者: slore    时间: 2015-9-29 14:58
2010smilewit 发表于 2015-9-29 13:11
VC2015,真是太新了。不知道什么原因,我的WES7上安装不上VC2015Redistributable

工程降级到VS2012编译了下,WIN7 PE~WIN10 PE下都可以运行了。
目前公司的网络不能上传附件。
作者: mdyblog    时间: 2015-9-29 15:58
slore 发表于 2015-9-29 11:44
我用Visual Studio 2015开发的,需要VC 2015 Redistributable。

我测试的是Win 10 的PE,基本CRT运行 ...

考虑静态连接,就不用装那么多VC-DLL了。
作者: singel    时间: 2015-9-29 16:26
不支持XP系统吗?
作者: sp_star    时间: 2015-9-29 16:39
完成度很高啊!
1.桌面图标无法拖拽      (正常系统下可以)
Win10PE X86,可以拖拽。
作者: chenall    时间: 2015-9-29 16:45
VS2012以上的默认都不支持XP系统的(需要在编译的时候选择XP的支持)
作者: slore    时间: 2015-9-29 16:52
sp_star 发表于 2015-9-29 16:39
完成度很高啊!
1.桌面图标无法拖拽      (正常系统下可以)
Win10PE X86,可以拖拽。

我是直接启动BOOT.WIM测试的,就是内核不增加文件的前提。
只要补充上特定的DLL到内核,桌面操作会更好些。
目前只打算把任务栏先搞好。

作者: sp_star    时间: 2015-9-29 17:26
本帖最后由 sp_star 于 2015-9-29 17:29 编辑
slore 发表于 2015-9-29 16:52
我是直接启动BOOT.WIM测试的,就是内核不增加文件的前提。
只要补充上特定的DLL到内核,桌面操作会更好 ...

原生的桌面也需要添加文件才能拖动,这个应该不算问题。
Win10PE原生任务栏:

你的任务栏:


可以照着原生的改,比如只显示图标,图标稍微小点。主要难点可能是托盘图标了。还有能不能使用第三方的开始菜单?



作者: slore    时间: 2015-9-29 17:27
chenall 发表于 2015-9-29 16:45
VS2012以上的默认都不支持XP系统的(需要在编译的时候选择XP的支持)

谢谢提醒,Debug我修改成/MT了,Release版忘了调整,测试了下确实可以,而且体积也不大,压缩后600多KB。
晚上回去更新下,快速启动栏图标大小,托盘大小,XP,WIN7,WIN8,WIN10 PE支持。。。
作者: slore    时间: 2015-9-29 22:50
2010smilewit 发表于 2015-9-29 11:01
打不开呀,我的原生WINPE3.0年少了点东西。

Beta2修改成静态连接运行库,请再确认下。
作者: slore    时间: 2015-9-29 22:55
sp_star 发表于 2015-9-29 17:26
原生的桌面也需要添加文件才能拖动,这个应该不算问题。
Win10PE原生任务栏:

本来整个任务栏设置的黑色,任务栏字也是黑色就看不到了。。。就又改回白色了。
想过去掉提示,但是这个任务栏不像WIN10的合并,并且自己的有预览,
相同程序打开的话,没有字不好看了。
图标大小我可以自由控制,Beta2已经把托盘改小了。

作者: tegl    时间: 2015-9-29 23:04
本帖最后由 tegl 于 2015-9-29 23:10 编辑

如图,Beta2在64位8PE下出错,按确定后可以打开


作者: slore    时间: 2015-9-29 23:11
tegl 发表于 2015-9-29 23:04
如图,Beta2在64位8PE下出错

资源管理器功能依赖系统Shell组件,我们没有管,用explroer++代替了。
你的系统已经存在Shell,直接运行当文件管理器会错正常,
请用cmd下输入PExlorer.exe -install 带参数运行,删除默认shell,安装本文件。

PExlorer.exe -desktop也可以运行,但是如果有别的SHELL窗口存在,
点击桌面的话,会认为是一个普通窗口,放置到最前面,挡住了其他窗口,
当然任务栏还是可以切换回去的。
作者: sp_star    时间: 2015-9-29 23:58
slore 发表于 2015-9-29 22:55
本来整个任务栏设置的黑色,任务栏字也是黑色就看不到了。。。就又改回白色了。
想过去掉提示,但是这个 ...

XP任务栏比较立体,也比较窄,加上文字看得还行。
你这个是平面的,看起来有点怪....没有预览,可以像快速启动那样,加提示信息。

作者: 20121010168    时间: 2015-9-30 09:36
感謝分享,希望LZ繼續努力,早日見到穩定版
作者: 2012qnmd    时间: 2015-9-30 10:05
两个不算问题:
1. 03,没显示喇叭. 这个基本都是用在新PE,我看你图片有,支持WIN10就行.

2. 内置图标太大, 16,32,就可以. 起码可以减小200K
作者: 2010smilewit    时间: 2015-9-30 12:19
不错,可以运行桌面了,文件管理器有了,只是还不够完善,希望更好些……

遇到问题:
1、无法关机
2、界面是英文的
3、很多功能打不开,希望能够都添加进来。

2015-09-30_121145.png (29.09 KB, 下载次数: 306)

2015-09-30_121145.png

2015-09-30_121640.png (36.22 KB, 下载次数: 310)

2015-09-30_121640.png

作者: slore    时间: 2015-9-30 12:40
2010smilewit 发表于 2015-9-30 12:19
不错,可以运行桌面了,文件管理器有了,只是还不够完善,希望更好些……

遇到问题:

文件管理器,请用开始菜单右边的第二个按钮,调用同目录的第三方explorer.exe,
我例子里面带的是explorer++.exe
关机很好处理,调用PE的命令接口即可,开始菜单部分是默认的,还没有处理。

关于界面,英文和简体中文的资源,你的系统内核语言是啥?
作者: 2010smilewit    时间: 2015-9-30 13:22
slore 发表于 2015-9-30 12:40
文件管理器,请用开始菜单右边的第二个按钮,调用同目录的第三方explorer.exe,
我例子里面带的是explore ...

PE内核是英文的,我没有安装中文,要用系统的?
我只改了这两个
dism /image:E:\WINPE3.0\boot /set-syslocale:zh-cn
dism /image:E:\WINPE3.0\boot /set-userlocale:zh-cn
作者: slore    时间: 2015-9-30 20:45
2010smilewit 发表于 2015-9-30 13:22
PE内核是英文的,我没有安装中文,要用系统的?
我只改了这两个
dism /image:E:\WINPE3.0\boot /set-sy ...

可以用资源管理器吧,1033英文的程序资源删除,菜单,对话框,字符串。。。
但是PE内核必须要用中文字体,否则是【??】
作者: 1400700226    时间: 2015-9-30 22:13
希望界面整体可以缩放,不然在分辨率很低(800x600)的03PE下会显示不全或很难用。。。。。。
作者: 享β亻寸木东    时间: 2015-9-30 23:02
给力!!!!!!!!!!!!
作者: 四海皆狂龙    时间: 2015-10-1 12:19
其实我也做了个类似的东西,不过有些问题没有办法解决,比如调试会造成退出奔溃(垃圾com),还有一些气泡暂时提示没有办法解决。个人觉得,微软的编程很难搞,没有linux简单,它把东西搞得很复杂。
作者: wxgwxg    时间: 2015-10-1 13:21
我只能说这件事                       功德无量了.
作者: 四海皆狂龙    时间: 2015-10-1 17:08
刚刚测试了下,感觉问题还是比较多。
作者: slore    时间: 2015-10-1 20:21
四海皆狂龙 发表于 2015-10-1 17:08
刚刚测试了下,感觉问题还是比较多。

方便说下什么问题么?如果是文件管理器这部分,
这里一点都还没开始动,所以用了explorer++.exe,这个
也是开源项目要集成自然能也能改,其实只是初版,主要
确认了下任务栏的基础功能。
作者: 2010qaqz111    时间: 2015-10-1 21:54
shell和文件管理完全没必要弄到一起,这一点一直想抽m$的explorer
作者: 四海皆狂龙    时间: 2015-10-2 00:29
slore 发表于 2015-10-1 20:21
方便说下什么问题么?如果是文件管理器这部分,
这里一点都还没开始动,所以用了explorer++.exe,这个
...

托盘图标貌似还是无法枚举完全,我做的一个小托盘程序在win7也是同样没有枚举完全,xp正常枚举完全,可见win7以后的有些区别。
另外如果存在explorer,那么有问题,这个在非pe下测试是这样的 。
作者: 四海皆狂龙    时间: 2015-10-2 01:08
slore 发表于 2015-10-1 20:21
方便说下什么问题么?如果是文件管理器这部分,
这里一点都还没开始动,所以用了explorer++.exe,这个
...

我是常规win7系统测试,有explorer下,首先它无法与默认的explorer一起工作,另外托盘并没有枚举完全。我之前也做的一个托盘程序,但是情况一样,xp问题不算大,但是win7还是有些问题的。

文件管理器工程有些大,我的感觉是,用第三方也是可以的,尽管还是无法匹敌微软自家的。完整桌面+完整文件管理器,还不如自己开发个linux桌面发行版了。我的意思,这个难度,与收获,是不太值得的,并且微软的系统,比较坑程序员,只要它升级系统,就得坑。比如上面说的,xp可以正常枚举的,win7后面的就不正常了,关键是微软并不开放源码,也不提供正常的api,网上的一些桌面多数也是通过hack所得,实现上是很难比较微软自家的,尽管微软的也不怎么样,但是hack来的总是有些小问题。

其实我认为,比较重要的是任务栏上东西,和托盘上的东西,其它都不重要,甚至连开始菜单也都不重要。但是这两件东西反而是比较难搞的。

作者: sp_star    时间: 2015-10-2 09:58
四海皆狂龙 发表于 2015-10-2 01:08
我是常规win7系统测试,有explorer下,首先它无法与默认的explorer一起工作,另外托盘并没有枚举完全。我 ...

如果PE上使用,托盘图标就那么几个,不一定要枚举,配置文件定义也行啊。
作者: slore    时间: 2015-10-2 10:10
四海皆狂龙 发表于 2015-10-2 01:08
我是常规win7系统测试,有explorer下,首先它无法与默认的explorer一起工作,另外托盘并没有枚举完全。我 ...

托盘图标,完全枚举,不知道你指的是哪个图标?网络?声音?,这些是explorer进程自己做的,不是其他的程序通知到托盘的,所以不会显示,需要自己实现,也比较简单,就是监控声音状态,网络状态变化而变动图标需要写些代码,单纯的加2个图标,点击可以弹出菜单或某个应用,自己可以做主的。
这里是其他的程序要到创建托盘才会出来,还有程序处理了假死进程的残留图标所以如果是无Windows界面的也会不显示(服务启动的图标),这个是MS的shell没有的,我觉得也没要,回头删除掉。

PExlorer -desktop参数,即可与Windows的Explorer共存,并且在Windows环境下的话,
桌面操作比较完整,打开我的电脑也和正常的一样,但是存在默认排列式样的问题。
任务栏,新的进程打开后,有时候在任务栏切换会强制跳到系统的任务栏,一旦某个shell进程退出了,
在那个任务栏打开的程序,最小化会缩到左下角,就是没有任务栏的状态。
毕竟任务栏创建后,要注册到系统,告诉所有应用我才是windows的Taskbar,你的消息要发送给我,
要共存的前提就不对吧,这不是不通常的窗口,是特定的,Windows只能有一个有效的。
你说去游乐园,有一个收费窗口了,进去了再一个收费窗口要你买票,合适么?
这个程序没有用到Hack。

改造这个程序的目的也是想知道Windows Shell的接口各个部分如何自己能改。
比如现在如果我GDI,或者DirectUI方面有技术的话,任务栏和托盘完全可以
不用ToolBar,自己用一种新的方式呈现了。

第一阶段,只是让PE加shell最简单话,维护方便就够的角度出发,不用考虑注册表,
不用考虑dll依赖,600多KB的压缩文件解压出来,全版本的PE运行即可。
当然添加MS自身的Shell效果最好,如果已经加好的PE就不用考虑的。

作者: 四海皆狂龙    时间: 2015-10-2 11:07
sp_star 发表于 2015-10-2 09:58
如果PE上使用,托盘图标就那么几个,不一定要枚举,配置文件定义也行啊。

我发现一下重复发多了两回复。
托盘图标是动态的,并且有通知,气泡。之所以这个必要,是因为有些程序只能从这里呼出弹出,比如网络连接,qq等都是往那去的。如果不是这样,我都懒得搞这托盘,感觉托盘只不过是任务栏的一种形式多余的设计。
任务栏就容易些,即使没有很有效的方法,枚举任务窗口也是可以很准确。
作者: 四海皆狂龙    时间: 2015-10-2 11:29
slore 发表于 2015-10-2 10:10
托盘图标,完全枚举,不知道你指的是哪个图标?网络?声音?,这些是explorer进程自己做的,不是其他的程 ...

这个任务栏和托盘实现,基本第三方shell代码都是差不多的。我也参考过好几份开源代码,个人觉得不算简单。微软的shell,也不是说最好,只是我们要跟着它屁股转,否则功能缺失。任务栏托盘,我就是用了dui来做,但是我认为还是专门独立用win32写就可以了,你用dui技术就要多增加1m以上,这还算小了。依赖是必然的,反正vc运行库都是要加的。
作者: 四海皆狂龙    时间: 2015-10-7 15:00
请问楼主有没有编译explorer++通过?
作者: slore    时间: 2015-10-7 19:06
四海皆狂龙 发表于 2015-10-7 15:00
请问楼主有没有编译explorer++通过?

没有自己编译,readme里面提到用了3个库,需要3个环境变量,你设置了没?
(我正在下载,试试编译。)
- BOOST
  Boost installation directory (e.g. C:\Program Files (x86)\boost\boost_1_46_1).
- PANTHEIOS
  Pantheios installation directory (e.g. C:\pantheios-1.0.1-beta212).
- STLSOFT
  STLSoft installation directory (e.g. C:\stlsoft-1.9.109).
作者: slore    时间: 2015-10-7 21:43
四海皆狂龙 发表于 2015-10-7 15:00
请问楼主有没有编译explorer++通过?

编译过了。

rem 1.下载依赖库,解压并设置环境变量:
set BOOST C:\boost_1_59_0
set PANTHEIOS C:\pantheios-1.0.1-beta215
set STLSOFT=C:\stlsoft-1.9.121

rem 2.编译Visual Studio 版本对应的pantheios库(我是用VS2015编译x64版本,所以如下)
>cd /d C:\pantheios-1.0.1-beta215\build\vc14.x86
>"E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
>nmake build
rem 我这里最后失败了,没有全部编译通过,但是需要的lib编译出来了

rem 3.修改explorer++代码以支持VS2012以上编译
rem 高版本的一些定义发生了变化
apply patch https://explorerplusplus.com/forum/viewtopic.php?f=7&t=1377

DrivesToolbar.h的修改,这里有点问题需要加个const不然还是编译错误(也可能是VS2015才需要)
-size_t operator()(const IDCounter& t)
+size_t operator()(const IDCounter& t) const

对了,有个BOOST的版本检查定义我也改了。
BoostCheck.h
-#define REQUIRED_BOOST_VERSION 105400
+#define REQUIRED_BOOST_VERSION 105900

作者: 四海皆狂龙    时间: 2015-10-7 22:13
slore 发表于 2015-10-7 21:43
编译过了。

rem 1.下载依赖库,解压并设置环境变量:

我用vs2012编译不过,提示异步接口的某个类没有定义,所以我正在下载2010。那几个依赖刚下载,还没有测试。如果能把依赖干掉就好了,环境搭建很复杂,我想移植到vs2005估计不太容易。
作者: slore    时间: 2015-10-7 22:51
四海皆狂龙 发表于 2015-10-7 22:13
我用vs2012编译不过,提示异步接口的某个类没有定义,所以我正在下载2010。那几个依赖刚下载,还没有测试 ...

rem 3.修改explorer++代码以支持VS2012以上编译
给你的代码补丁里面,有异步接口重定义的修正啊。

+#ifdef _WIN32_WINNT_WIN8
+#define IAsyncOperation IDataObjectAsyncCapability
+#define IID_IAsyncOperation IID_IDataObjectAsyncCapability
+#endif
作者: 四海皆狂龙    时间: 2015-10-8 00:57
slore 发表于 2015-10-7 22:51
rem 3.修改explorer++代码以支持VS2012以上编译
给你的代码补丁里面,有异步接口重定义的修正啊。

在执行一个subwcrev.exe的时候就出错了,这个好像是生产版本的用的。后来下载了TortoiseSVN,但是还是过不去,生成不了version.h。
作者: slore    时间: 2015-10-8 01:00
四海皆狂龙 发表于 2015-10-8 00:57
在执行一个subwcrev.exe的时候就出错了,这个好像是生产版本的用的。后来下载了TortoiseSVN,但是还是过 ...

subwcrev.exe?这个是什么命令,没注意。
我直接下载master分支的文件,没用版本管理。
按上面的步骤在VS2015下编译出来的。

今天太晚了,明天再弄吧。
作者: 四海皆狂龙    时间: 2015-10-8 02:10
slore 发表于 2015-10-8 01:00
subwcrev.exe?这个是什么命令,没注意。
我直接下载master分支的文件,没用版本管理。
按上面的步骤在V ...

我是直接下载官方源码的,不是github.
另外,关于托盘图标不全问题,可以参考下EmergeDesktop代码(不过好像sf上的代码不能直接编译)。经过我测试,它的处理比较好,即使是存在原生explorer的情况下,都不会受到什么影响,并且它可以获取到音量控制和网络强度这些win7没有正常显示出来的图标。
作者: slore    时间: 2015-10-8 11:36
四海皆狂龙 发表于 2015-10-8 02:10
我是直接下载官方源码的,不是github.
另外,关于托盘图标不全问题,可以参考下EmergeDesktop代码(不过 ...

托盘,我这里第三方应用的显示是全的,图标大小调整了,但是比较细的像素值计算不正确,
导致部分图标没有显示全的问题确认了。
下一版,打算颜色,字体,大小,自定义开始菜单项目,配置文件化,
已经大概设计出来了,10.1没闲下来写代码,所以没有更新Beta 2版本。

WIN7也能得到音量网络,但是是explorer.exe重建的时候出来的。
如果explorer.exe存在就没有自己shell的意义了。

EmergeDesktop的话,我有时间也看看。
作者: 四海皆狂龙    时间: 2015-10-8 17:56
slore 发表于 2015-10-8 11:36
托盘,我这里第三方应用的显示是全的,图标大小调整了,但是比较细的像素值计算不正确,
导致部分图标没 ...

我的环境是win7 64位,先灭掉ezplorer,然后开启,图标还是并没有全,但是EmergeDesktop任何时候开启都没有问题,开启的时候只需要运行核心程序和托盘程序就可以了,其它任务栏桌面等等都可以不运行。
explorer++编译通过,我在编译那个依赖的时候觉得时间太长,突然想到那只不过是日志用的,而且实在太大了。所以我直接屏蔽掉,作为发行,也可以减少一些体积。
后来我发现,好像explorer也没啥要改的,原版通过界面调整也合适了,原版就是功能太多,并且界面布局等好像不太好看,另外好像没有其它比如Q-DIR这类稳定。当然,开源的用起来更放心。现在看来,重点还是这个托盘。
作者: 阿弥陀佛    时间: 2015-10-8 19:11
两位都是编程高手,期待更完善的作品。
反馈一些beta2版的问题
1.系统开机运行一个截图程序Winsnap,最小化在托盘区。我结束explorer后运行PExplorer,这个程序没有点击它自己弹出来了。
2.快速启动栏和开始菜单的图标不会即时刷新。删除了还是能看到,点击的时候提示找不到文件。
3.explorer++有时候会崩溃,应该是它本身的问题。暂时还不知道什么情况会导致崩溃。
4.开始菜单--搜索计算机 出错
5.双击桌面上的文件夹会打开用户目录,而不是目标文件夹,而且导航栏的部分图标无效。 右键打开没问题,但调用的是系统的explorer
一些细节
1.任务栏的时间的字体和其他的图标不一样。感觉像点阵一样。换个平滑一点的好看点。和托盘区靠的太近了点。
2.要是能选择合并任务栏图标就更好了

总的来说已经算很不错了
作者: xintiandi    时间: 2015-10-10 18:01
这个一定要支持一下,一直就像找个explorer的替代者,应用到wes7上。期待楼主能尽快放出稳定的版本。
作者: gaowazou    时间: 2016-1-18 23:57
很 给力,期待更新    反馈一下问题,快捷方式定位到文件浏览会黑屏
作者: slore    时间: 2016-2-5 01:36
gaowazou 发表于 2016-1-18 23:57
很 给力,期待更新    反馈一下问题,快捷方式定位到文件浏览会黑屏

哇,4个月了还有人支持啊。

感谢支持,都不打算更新了,看到你的回复,花了1周时间更新了RC1。
欢迎反馈问题以及提出宝贵建议。
作者: slore    时间: 2016-2-5 01:42
有点晚了,PExlorer.jcfg的配置文件说明,有时间再更新下。
提前祝大家新年快乐,身体健康!
作者: 2012hzy6420    时间: 2016-2-5 08:58
看看,谢谢分享
作者: ljycslg    时间: 2016-2-5 20:10
1.程序改名explorer也启动start10怎么没效果?

2.壁纸用高分辨率的只显示一块,要居中显示,最好和wallpaperhost那样

3.还有系统文件对话框中新建一个文件夹不会立即刷新,要手动刷新,wallpaperhost也是这个问题
补上相关注册表其实用原版文件管理器也是可以的,只要解决了这个问题,桌面元素由你的程序实现

4.文件属性,拖拽这些是缺文件和注册表,你的程序不用考虑
作者: wangziqiang    时间: 2016-2-5 21:35
要赞一个 楼主很给力啊

作者: wangziqiang    时间: 2016-2-5 21:35
要赞一个 楼主很给力啊

作者: slore    时间: 2016-2-6 09:05
本帖最后由 slore 于 2016-2-6 09:07 编辑
ljycslg 发表于 2016-2-5 20:10
1.程序改名explorer也启动start10怎么没效果?

2.壁纸用高分辨率的只显示一块,要居中显示,最好和wallp ...


感谢反馈。

1.start10是10月测试了些3方开始菜单,然后改的。就是把开始菜单的类名改成
  start了,原来是button。3方应用找不到开始菜单。因为没有license过期了,
  后来删除了,具体版本没有留意。官方下载了,确实改成explorer.exe也没有用了。
  这部分看来还是得自己想想办法,3方考虑的正常的explorer有些DLL注入,hook之类的,
  我们自制的Shell没有支持到。

2.壁纸显示模式上实现了居中和填充(默认设置),大小没有拉伸调整,后续版本会添加平铺模式,以及公开设置参数。
  这部分比较独立很好实现。

3,4我清楚是默认的boot.wim不足,如果搞清楚的话,也请告知下我哈。
作者: 苏州本是    时间: 2016-2-6 10:25
好工具!希望功能越来越完备!谢谢!
作者: ge    时间: 2016-2-6 17:36
我的WIN10今天不知道是怎么了!EXPLORER完蛋了!什么都不能用了!我想看看这个,结果开始用还行,壁纸什么的都不行!桌面和文件管理器在工作中会不能用!
作者: slore    时间: 2016-2-6 18:24
ge 发表于 2016-2-6 17:36
我的WIN10今天不知道是怎么了!EXPLORER完蛋了!什么都不能用了!我想看看这个,结果开始用还行,壁纸什么 ...

在正常WIN10系统我是直接用自己的shell的,WIN10默认的explorer.exe可以当辅助文件管理器用。
壁纸是由配置文件设定的默认是同目录的wallpaper.jpg,我的附件里面没有包含,没有读取系统的
壁纸位置,因为这个是要Portable,所有设定集中。

默认的文件管理器是同目录的explorer++.exe,我的附件也没带得自己配置,因为有人可能喜欢用
Q-Dir呀,Total Command什么的,要自己设定的。

主要还是给PE用,正常系统下微软的explorer其实做了很多事,功能稳定性都很好的。
作者: ge    时间: 2016-2-6 19:04
slore 发表于 2016-2-6 18:24
在正常WIN10系统我是直接用自己的shell的,WIN10默认的explorer.exe可以当辅助文件管理器用。
壁纸是由 ...

电脑不知道今天上午是怎么了!
作者: slore    时间: 2016-2-6 20:53
ge 发表于 2016-2-6 19:04
电脑不知道今天上午是怎么了!

你的外壳程序还存在。。。。程序就默认启动文件查看器了。

你看下残留进程又没explorer.exe?

或者用PExlorer.exe -desktop 强制启动桌面。
作者: ge    时间: 2016-2-7 08:30
slore 发表于 2016-2-6 20:53
你的外壳程序还存在。。。。程序就默认启动文件查看器了。

你看下残留进程又没explorer.exe?


没有!与explorer.exe有关的都不能用了!就是和桌面会不能用!重启程序才行!
作者: slore    时间: 2016-2-20 00:11
ljycslg 发表于 2016-2-5 20:10
1.程序改名explorer也启动start10怎么没效果?

2.壁纸用高分辨率的只显示一块,要居中显示,最好和wallp ...

RC1.1 壁纸显示增加拉伸模式了。
用你PE测试了下,拉伸效果和WallpaperHost略有区别,
图片和分辨率的比例比一致导致的,下个次更新改进下,
Windows 10系统对拉伸有了很多几个选择(填充模式,适应模式)。
作者: ljycslg    时间: 2016-2-20 11:00
slore 发表于 2016-2-20 00:11
RC1.1 壁纸显示增加拉伸模式了。
用你PE测试了下,拉伸效果和WallpaperHost略有区别,
图片和分辨率的 ...

壁纸效果很好了,比wallpaperhost显示的清晰
可以再加个更换壁纸的参数
开始菜单还是尽量想办法挂接成熟的第三方吧
自己写很麻烦的吧,看看classicshell怎么样

作者: ljycslg    时间: 2016-2-20 11:20
本帖最后由 ljycslg 于 2016-2-20 11:45 编辑

有希望!!!安装classicshell重启pexlorer后classicshell的图标居然在中间出现了,不过左键没反应,右键可以
在cs的设置里选择左键弹出开始屏幕,左键会弹pexlorer的开始菜单

作者: superium    时间: 2016-3-22 11:31
何不用开源的BBlean,或者Litestep?
虽然几年前就有了,但如今的win10仍然可用,很强大!
楼主如此厉害,还可以二次开发!
作者: znfwz    时间: 2016-3-22 13:49
期待,这个很强大,希望后续能有更多PE使用这种方式
作者: cctvyz    时间: 2016-3-25 20:40
看不懂啊  具体怎么操作啊?
作者: xingjz    时间: 2016-3-26 07:46
楼主这个工程有点儿大啊
作者: dongwu    时间: 2016-3-26 18:49
自动引导ISO(带图形菜单) 4.5
作者: weijun189    时间: 2016-3-26 18:54
支持一下楼主
作者: cj2018    时间: 2016-4-28 13:18
支持楼主,支持楼主.
作者: slore    时间: 2016-5-6 23:38
RC2.0 更新,剩下开始菜单和文件管理器。。。
作者: 老鬼    时间: 2016-5-7 09:26
这个一定要试试





欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3