|
本帖最后由 slore 于 2022-11-14 00:13 编辑
什么是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-11 更新:
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)
- 修复:气泡提示框无法显示问题
- 修复:每次shell启动时,都会执行开机启动项的问题
- 修复:托盘时钟区点击显示日历时,可能导致explorer.exe崩溃重启问题
- 修复:WES环境控制面板项目启动卡顿问题
- (针对WES环境,第一运行shell时,调用control.exe初始控制面板)
- 新增:实现了对ms-settings协议的委托处理,可以自定义ms-settings请求的打开对象(虽然改下注册表也可以处理,但我还是采用了正规的委托方式来实现)
- 可以自定义当选择桌面菜单的分辨率设定,个性化菜单,任务栏右键菜单的任务栏属性,时间和日期,自定义通知区域等项目的动作
- 新增:UI的xml中的图像定义,支持ico图标以及文件中的资源ID(file='notepad.exe,0')
- 新增:对于UI对象,增加hotbordercolor参数,可指定鼠标在控件悬停时显示的边框颜色
- 新增:对于UI对象,position参数增加一个leftbottom选项,可设置窗口启动时在左下角显示
- 新增:对于UI对象,增加一个startup_win参数,可设置窗口启动时最大化显示
- 新增:对于UI对象,增加窗口位置大小控制Lua指令-sui:move(dx,dy,dw,dh),sui:moveto(x,y,w,h)
- 新增:UI_Launcher--APP快速启动界面(类似Win10开始菜单右侧部分)
- 新增:针对Windows Embedded Standard环境,增加一个-wes参数进行动作区分
- 新增:将UI界面的Lua脚本控制扩展到shell模块,可通过WinXShell.lua对程序的动作进行自定义
- 例如,开始菜单项目点击,托盘时钟区域的点击,ms-settings的消息处理等处理逻辑都可自定义
- 改善:文件结构调整:将UI_xxxxx统一放置到wxsUI目录下。(可通过WINXSHELL_UIFOLDER环境变量自定义)
- 改善:支持ZIP形式的UI_xxxxx资源
- 改善:UI_xxxx资源调整(界面微调,主题更新,西班牙语支持), 感谢 bob.omb,teik。
- 改善:通过WinXShell.Lua的引入,增强易用性。
- 仅需运行-winpe或者-wes或者-daemon,将自动根据环境条件进行下列动作(均可自定义):
- * 如果系统不存在ieframe.dll,自动注册快捷方式的打开文件夹所在位置处理的wxsStub.dll
- * WINPE模式下点击我的电脑【属性(P)】菜单自动打开UI_SystemInfo界面
- * 任务栏时钟区域点击事件处理
- * 自动注册ms-settings协议委托,并启动WinXShell.exe -Embedding处理委托
2018-04-16 RC3.1.0更新:
WinXShell_x64.zip
(2.55 MB, 下载次数: 375)
WinXShell_x86.zip
(2.39 MB, 下载次数: 253)
更新内容
- 新增:系统相当或更好功能,却只要少数十倍体积
- 新增:我的电脑属性,显示内存信息,并自定义显示运行时间功能[xml+lua你可以改变布局颜色,添加任何东西](不需要15MB的wbem)
- 新增:劫持快捷方式右键打开所在目录,属性中打开所在目录响应,自定义快捷方式的打开所在文件方法。可以去掉ieframe.dll+wow64\ieframe.dll(24MB)
- 新增:单击任务栏时钟区可显示一个lua做的简易日历(有好的界面想法的,可以自定义)
- 新增:双击任务栏时钟区可运行timedate.cpl
- 新增:以上动作均可配置(是否劫持,可运行自定义程序)
- 改进:当无无线网络适.配.器时,WIFI的托盘图标显示为有线网络图标
- 改进:音量控制界面改变声音时,可指定是否发出Beep声音
使用方法:
WinXShell.exe运行前导入以下注册表
- wxsStub.reg
- 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)
更新内容
- 修复在WIN7,8系统下桌面右键卡死问题
- 修复文件配置不正确导致程序异常终止的问题
- 修复WSE7环境下,我的电脑,桌面不能打开控制面板问题
- 改进:WinXShell.jcfg中可添加“control”命令,控制开始菜单的控制面板菜单
- 改进:可以定义title属性来控制UI界面的任务栏名称(支持多国语言资源)
- 新增:导入Lua,可以通过脚本进行交互,动态改变UI元素状态
- 改进:界面多国语言支持改善,字符串资源可以从lua脚本直接指定系统资源(#{@shell32.dll,101}),资源不存在时,读取mui文件。
- 新增:高仿的我的电脑属性界面(所有信息,布局可自行更改,也可以追加新的启动链接,图片等)
- 新增:音量托盘控制图标
- 新增:音量控制界面
- 改进:分辨率设定界面通过Lua脚本定义,动作流程进行改善,可以15秒倒计时,自动恢复,也可以定义选择就改变分辨率
其他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)
更新内容
- 新增:"trans"选项(jcfg),可以使窗口有透明效果
- 新增:"theme"选项(jcfg & 命令行),可以加载不同的主题风格(参考:UI_WIFI,UI_Resolution)
- 新增:WIFI界面提供一个WLAN按钮,启动和停止Wlansvc服务
- 改进:网络图标将正确显示有线,无线状态。无线连接时显示信号强度
- 改进:分辨率设定界面添加滚动条,以及对"应用","取消"按钮增加快捷键,使得分辨率过低时也可调整
- 改进:移动Font定义到locales定义文件中
- 改进:当对应locales定义文件不存在时,使用英文定义文件(en_US.xml)
- 改进:新增"class"选项(jcfg)来识别是否是 无线网络连接界面,使得UI_WIFI名可被变更
Next
- 新增: "bartitle"选项(jcfg),可以指定任务栏显示名(本次更新漏提交:() =完成=
- 新增:使用笔记本时,显示电池电量托盘
- 新增:音量调节界面及音量托盘图标 =完成=
- WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow
- 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)
更新内容
- 修复FreeVK等程序任务栏显示2个图标问题 (#241 2.6.1小修正吸收)
- 采用延时加载技术,使得在没有wlanapi.dll的boot.wim下也可以正常运行
- 分离UI功能和外壳功能——WIFI连接(含无线网络托盘状态)可以在正常Windows或者采用原版explorer为外壳的PE下独立运行
- 废除WinXShell.jcfg中的托盘图标设定,托盘图标由对应的UI功能实现
- 新增-hidewindow参数,可以让UI_WIFI初次启动后只显示托盘网络状态图标而不弹出【无线网络连接】界面
- 分辨率变化后,UI窗口可自动调整到“中央”或“右下角”正确位置(防止分辨率差距较大时,界面显示到屏幕范围外,必须重启UI程序的问题)
- UI中的文字信息的多国语言处理改善,移动到locales目录下,zh-CN.xml/en-US.xml自动识别
- 多国语言文件中的id,从必须是数字改为可以直接使用英文单词
- WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg
- 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右键新建菜单的问题微软已经修复,不会卡死。
更新内容
- 资源管理器 - 修复最大化时当鼠标移动到标题栏特定位置会抖动的问题
- 资源管理器 - 修复DWM有效时,点击最小化按钮问题
- 实现气泡提示功能
- 托盘增加声音(状态未实时更新,下版本对应,WinXShell.jcfg中可设置不显示此图标)
- 托盘增加网络图标(状态未实时更新,下版本对应,WinXShell.jcfg中可设置不显示此图标)
- 网络图标点击可直接连接WIFI,可启用和关闭防火墙
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)
- 最新Windows 10 PE的右键新建菜单或导致卡死,追加一个支持自定义二级WinXNew菜单的选项。(存在卡死现象的版本,请使该参数有效,删除最前面的#号)
- 桌面右键菜单现在可以支持注册表中的%V参数,打开命令提示符,打开powershell等菜单不再进行hook处理。
- 可以通过配置文件,设置默认桌面图标大小。 (@shuren 说过年好更新的,结果拖了2个月)
- 使用简易化。-winpe参数指定时,将自动结束原shell程序,并确认和设置USERPROFILE环境变量,直接启动到桌面。
- 集成UI库duilib(文件增大500KB),支持自定义界面(目前支持分辨率,屏幕旋转设置界面,以及关机重启界面)。
- 程序更名为WinXShell.exe,配置文件也变成WinXShell.jcfg。
桌面图标大小指定方法:
- "::桌面":
- {
- "iconsize":48
- }
复制代码
小图标 - 24, 中图标 - 48, 大图标 - 96
如果不需要引入UI库的版本,请告知我,单独发布。
2017-01-12 更新:
*请下载最新版
- 最新Windows 10内测版本15002,改善DPI显示功能,桌面图标显示时会导致PExlorer崩溃,紧急追加一个选项禁用桌面图标,保证任务栏功能可用。
- 另外15002版本,桌面右键的打开命令提示符改为了powershell,PE一般没有,默认调用cmd。如有PS的话,可配置force_cmdhere选项。
- 删除"关于About PExlorer"菜单。
因无法显示桌面图标,稍后提供一个可启动指定应用程序的桌面挂件小工具。
(文件管理器可正常使用,用这个访问桌面文件夹也可以。)
微软的问题,估计后续版本会自然解决,目前先这样。
- "::桌面":
- {
- "no_items":true,
- "force_cmdhere":false,
- ...
- }
复制代码
其他:
PExlorer之后将引入UI库,自己实现,类似 手机的 开始菜单(更好的支持平板),分辨率设置,带农历的日历,WIFI连接,声音选项,壁纸设置,通知栏等,
可自行使用类html格式来制定界面布局颜色等。随后程序将正式更名为x-shell(PExlorer不是个单词,PE Explorer又是别的程序,一直打算改个名字的)。
顺利的话,估计6,7月能完。
2016-12-19 更新:
*请下载最新版(不配置no_items参数即可正常显示桌面)
- 处理环境变量广播通知
- PE下ClassicShell的开始菜单1分钟后才响应的问题修正
- 为更好的支持ClassicShell的开始菜单,提供一个参数调整开始菜单图标余白
ClassicShell不设置替换开始按钮的话,无法响应鼠标左右键点击,所以请使用3态开始按钮图标,
PExlorer的开始图标可配置为空,可根据自己选择的开始按钮图标设置右侧余白大小(下例的图标是40x120像素的,所以不需要设置偏移量,ClassicShell的标准贝壳图标的话,设置8像素会好看些)
- "::开始菜单":
- {
- "start_icon":"empty",
- "start_padding":8,
- ...
- }
复制代码
注意: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)
- 全屏网页或者视频时,隐藏任务栏
- 支持运行中更改壁纸(PECMD WALL也有效)
- 任务栏窗口右键系统菜单改善
- 分辨率调整时可触发一个调用(个别需求)
onDisplayChanged定义时,当分辨率变化会调用定义的命令。showflags(0-隐藏调用,1-正常显示,默认值为:1)和parameters参数可省略。
- "JS_TASKBAR":
- {
- "bkcolor":[0,122,204],
- "onDisplayChanged": {
- "command": "app.exe",
- "showflags":1,
- "parameters":""
- }
- }
复制代码
2016-07-31 RC 2.4.1 更新:
*请下载最新版
- 解决使用文件打开对话框作为文件管理器时,新建文件夹,复制删除等操作不会及时刷新问题(新方案)
- PExlorer的文件资源管理器任务栏图标由未知程序改为PExlorer的图标
- 开始菜单项目可以通过PExlorer.jcfg设置
- SHIFT右键开始菜单图标或者任务栏空白处,增加退出PExlorer菜单(因为开始菜单中的结束程序默认不显示了)
新方案,支持全版本不用因为shell32版本不同而要修改配置了。
如果自己修改了shell32.dll或者不使用内置文件管理器可以通过:
"JS_FILEEXPLORER"下面的hook_GetShellWindow设置为false将禁用(默认值为true)。
注意新方案目前只会影响PExlorer.exe进程,如果使用notepad,任务管理器等的文件打开对话框时,仍然不会自动刷新。
开始菜单设置,以下为默认值,默认值的话可以缺省不设置
- "JS_STARTMENU":
- {
- "nosettings":true,
- "nobrowse":false,
- "nobrowse_network":true,
- "nofind":true,
- "norun":true,
- "nologoff":true,
- "norestart":false,
- "noshutdown":false,
- "noterm":true
- }
复制代码
2016-05-20 RC 2.4 更新:
*请下载RC2.4.1版
- 实现AppBarMessage消息处理,返回任务栏位置信息,使得ClassicShell开始菜单可以使用。
2016-05-13 RC 2.3 更新:
*请下载最新版
- 解决使用文件打开对话框作为文件管理器时,新建文件夹,复制删除等操作不会及时刷新问题
原理及修改方法见#127楼。
http://bbs.wuyou.net/forum.php?m ... 5074&fromuid=166812
2016-05-11 RC 2.2 更新:
*请下载最新版
- 创建一个打开对话框来代替文件管理器(实验性功能,PExlorer.jcfg中不定义第3方文件管理器时有效),已知细节问题如下:
- 正常系统下最小化按钮不可用(PE下反而可用),可点击任务栏图标
- 右键第一个菜单是“选择”(不太影响使用,双击可以正常访问)
- 限制多文件选中按回车动作
- 不能打开控制面板(与默认打开文件对话框一致)
- PE下,非explorer外壳程序,打开对话框中新建,复制,删除文件不会自动刷新(通用问题)
- 开始菜单最顶部的“文件管理器”会自动刷新,但是微软内部消息处理机制,一个应用程序应该只打开一个打开文件对话框,所以通过这个方法打开多个窗口时,只有最新的窗口可以接收快捷键(F5,CTRL+C,CTRL+V)
2016-05-06 RC 2.0 更新:
*请下载最新版
- 桌面强化
- 工程编译UNICODE版本,解决重命名中文乱码问题
- 在鼠标点击位置新建文件夹或文件,并自动进入重命名模式
- 右键刷新,改变图标大小,排列顺序菜单后仍竖排显示
- 分辨率,任务栏高度变更后,桌面图标自动调整
- F5键可以刷新桌面
- 完善WIN+D处理逻辑
- 任务栏强化
- 支持系统托盘图标(声音,电池,网络,USB设备等,需要内核有支持文件)
- 高DPI模式下,任务栏高度,图标大小自动适应
- 其他功能
- JS_TASKBAR下可以添加"notaskbar":true参数屏蔽掉任务栏
- JS_HOTKEY段可以添加"WIN":"WIN+Z"参数来重定义WIN键
感谢ljycslg的积极反馈。
2016-02-19 RC 1.1 更新:
*请下载最新版
小幅更新。
- 壁纸显示增强。
- 显示方式可设置拉伸(新增/默认),平铺,居中(新增)。
- 响应分辨率变化。
修改PExlorer.jcfg中对应参数即可,拉伸默认的话可省略此配置项。
-
- "::桌面":
- {
- "显示样式注释":"0-拉伸(默认值);1-平铺;2-居中",
- "::桌面壁纸显示样式":0,
- }
复制代码
RC 2.0版计划:
第三方开始菜单不能用,试了些都不太满意,打算自己写了。
想着自定义高些试着html页面当菜单UI,根据内部链接目标决定是打开文件,
文件夹,特定系统命令,显示文件列表等。感觉有点像手机屏幕,主屏,扩展屏。
以下是预览图:
测试下好像没啥技术难题,结果默认boot.wim中没有带IE的web组件,
作为正常系统下的开始菜单自由度非常高,XP上都可以呈现Windows 10开始菜单的效果了。
下面试着看WEB组件是否好集成,不好放进去的话只能WIN32按自己的设计画UI了。
2016-02-05 RC 1 更新:
*请下载最新版
- 各种设定json格式的配置文件导入->PExlorer.jcfg。
- 壁纸JPG格式支持。
- 解决任务栏文字颜色设定的技术问题。
- 可自定义任务栏部分属性(字体颜色,背景颜色,高度,图标大小等)。
- 可自定义第三方文件资源管理器。
- 可自定义壁纸路径。
- 支持第三方开始菜单软件start10(程序名需改为explorer.exe)。 <---当前版的start10无效了。
- 桌面菜单,桌面文件菜单完善。
- 解决托盘最后一个图标,悬停鼠标无法显示提示信息问题。 (遗留问题)
- 去掉快速启动栏快捷方式箭头。(网友建议)
- 快速启动栏动态更新。(网友建议)
- 追加-winpe参数,可以自定义开始菜单关机,重启命令。(网友建议)
- 任务栏字体显示不正常。(网友建议)
- 不再支持XP系统。
已知问题:
- PE系统下,桌面图标无法拖拽 (WIn 7,Win 8(.1) 的boot.wim正常,Win 10的boot.wim不可用。部分网友制作的PE可以使用,有explorer.exe都可以。)
- 桌面图标位置未作保存处理,刷新后会在顶部横向排列。
- 任务栏使用小图标时,快速启动栏图标偏上。
- 桌面新建文件/文件夹,无法直接到重命名的编辑状态,而是直接创建。
- 本程序的资源管理器,导航栏基本无效。
- 开始菜单,一些动态加载内容的菜单容易出错。
- 属性菜单不可用。(boot.wim PE内核缺少文件,正常系统下可以,但是显示位置为左上角或者右上角)
explorer.exe相关未实现功能
- 托盘声音,网络等图标(内核添加文件的情况下可以显示)以及IME语言状态栏的显示。
- DDE服务未实现,默认的打开功能还是回去调用explorer.exe (桌面双击以做处理,右键菜单[新建],[在新金进程中打开]会失败)
- 我的电脑属性无法显示,以前是sysdm.cpl,现在因为可以从属性再到导航到控制面板等,其实和资源浏览器一样了。
- 桌面[个性化]等菜单,是新的ms-settings:xxxx格式的,explorer.exe对应的处理没有实现。
- 快捷方式的打开到所在位置。(可以写个小工具处理,微软相同的处理机制很难)
- 开始运行输入:system32,ms-settings:xxxx等无法打开,DDE服务未实现。
- 空白处右键菜单调用命令为%V的命令无法调用,比如:git bash。(在命令窗口中打开菜单,做了特殊处理可以使用)
改善计划:
- 托盘声音,网络等图标实现
- 桌面图标刷新后位置变化问题
- 设定文件结构改进
- 添加开始图标右键菜单
- 接近正常系统的开始菜单
2015-09-29 Beta 2 更新:
- 快速启动栏初始宽度调整。
- 托盘通知图标改回小图标。
- 运行库静态链接,不需要额外DLL文件,WIN7,WIN8,WIN10的BOOT.WIM下可直接运行。
(x86版已支持XP方式编译,不过没有官方XP的PE未测试)
进PE,运行PExlorer.exe -install即可见桌面。(正常Windows下,请使用PExlorer.exe -desktop,免得注册表把Shell给改了)
任务栏快捷启动按钮,第二个可以打开第三方的资源管理器。
PExlorer/
|_ PExlorer.exe
|_ explorer.exe (第三方资源管理器,我附件的例子是用explorer++.exe)
|_ wallpaper.bmp (壁纸文件,必须是bmp格式)
已知问题:
1.桌面图标无法拖拽 (WIn 7 PE,Win 8 PE正常,Win 10 PE内核需要补充文件)
2.桌面右键菜单不完全 (正常系统下可以),选中文件菜单正常,可打开,复制,创建快捷方式等。
3.属性菜单不可用。(PE内核缺少文件,正常系统下可以)
4.托盘最后一个图标,悬停鼠标无法显示提示信息 (Win 7 正常,Win 10 下同样无法显示)
PExlorer_x64.zip
(1.42 MB, 下载次数: 317)
PExlorer_x86.zip
(1.21 MB, 下载次数: 250)
-----------------------------------------------------------------------------------------------------------------------------------------------
2015-09-28 Beta 1:
后面还要编辑就懒得排版,随便写下。
基本是初版没怎么修改,在系统安装盘的boot.wim下测试了下。
任务栏基本OK,资源管理器依赖一些系统DLL运行会出错,
所以做了个简单的组合:
PExlorer/
|_PExlorer.exe
|_explorer.exe (第三方资源管理器,我附件的例子是用explorer++.exe)
|_msvcp140.dll (Visual Studio 2015开发所要的运行库)
|_vcruntime140.dll (Visual Studio 2015开发所要的运行库)
|_wallpaper.bmp (壁纸文件,必须是bmp格式)
进PE,运行PExlorer.exe -install即可见桌面。
任务栏快捷启动按钮,第二个可以打开第三方的资源管理器。
不用修改WIM文件,1MB多的文件就可以见桌面了。
已知问题:
1.桌面图标无法拖拽 (正常系统下可以)
2.桌面右键菜单不完全 (正常系统下可以)
3.托盘最后一个图标,悬停鼠标无法显示提示信息 (正常系统同样有问题)
改善计划:
各种设定json格式的配置文件导入。
桌面壁纸的显示效果改进,目前为平铺。
壁纸JPG支持(程序内部bmp位图化)。
-----------------------------------------------------------------------------------------------------------------------------------------------
预览:
最近无意间看到PapyrOS,觉得好漂亮。
就把曾经放弃过想法,自己做Windows的Shell把explorer替换掉。
为什么放弃,很简单,做着做着发现好难,自己画任务栏可以,但是怎么让系统的程序到自己的程序来就成了问了,
涉及到微软Shell的内部,也没有官方文档把Interface说明下。
看了曾经泄露的Windows代码,下载WINCE的微软公开的源码,还是没搞出来。
突然想到有款反编译NT内核的操作系统(大家都知道吧?ReactOS),找到了ROS Explorer,我看论坛也有人发过,
最后更新好像是2004年,汗~好早,要是早点有人改造就好了!
Windows 8.1之前的PE加explorer的都成型了,貌似Win10的也看有人做好了,也行开始的比较晚了吧。
win32下,基本可以直接编译出来,但是有些问题,经过一周总算Windows 10 x64上把x64版本调试通了。
开始菜单,快捷启动,任务进程管理,托盘,时钟,桌面都出来啦。
在正常系统上,已经可以跑起来了。
我对PE的定位是维护,所以要求不高。硬件支持好,体积小,带网络(官方的好像可以直接支持。)
看了下论坛制作PE的方法,想着本来解压WIM增减文件就好,可以有步注册表中的C:\,D:\改X:\,删除 Interactive User的全部键值,
目前还不清楚为什么。对驱动有影响么?谁知道给我说下。
心目中的PE是,WIM增减内核必须文件,然后其他外置补充就好。看到explorer添加到WIM好像很恶心,所以打算做个外置就能直接运行的shell,即
PExlorer (其实还有考虑过叫PESlorer (●'◡'●) 偷笑 )
从boot.wim启动,发现运行不了,拷贝到本地系统C盘的system32下,可以出来了。
估计是桌面,文件资源管理器的实现用了Shell接口组件,打算把资源管理器删除,单纯的TaskBar的实现,
这部分基本上是纯C++的创建窗口,只依赖基本的系统文件,PE下可以直接运行的。
|
评分
-
查看全部评分
|