无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站Win To Go 极致利器(IXUNCIS固态U盘)广告联系 微信:wuyouceo QQ:184822951
楼主: slore

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

    [复制链接]
发表于 2015-10-2 11:07:39 来自手机 | 显示全部楼层
sp_star 发表于 2015-10-2 09:58
如果PE上使用,托盘图标就那么几个,不一定要枚举,配置文件定义也行啊。

我发现一下重复发多了两回复。
托盘图标是动态的,并且有通知,气泡。之所以这个必要,是因为有些程序只能从这里呼出弹出,比如网络连接,qq等都是往那去的。如果不是这样,我都懒得搞这托盘,感觉托盘只不过是任务栏的一种形式多余的设计。
任务栏就容易些,即使没有很有效的方法,枚举任务窗口也是可以很准确。
回复

使用道具 举报

发表于 2015-10-2 11:29:59 | 显示全部楼层
slore 发表于 2015-10-2 10:10
托盘图标,完全枚举,不知道你指的是哪个图标?网络?声音?,这些是explorer进程自己做的,不是其他的程 ...

这个任务栏和托盘实现,基本第三方shell代码都是差不多的。我也参考过好几份开源代码,个人觉得不算简单。微软的shell,也不是说最好,只是我们要跟着它屁股转,否则功能缺失。任务栏托盘,我就是用了dui来做,但是我认为还是专门独立用win32写就可以了,你用dui技术就要多增加1m以上,这还算小了。依赖是必然的,反正vc运行库都是要加的。
回复

使用道具 举报

发表于 2015-10-7 15:00:38 | 显示全部楼层
请问楼主有没有编译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  详情 回复 发表于 2015-10-7 21:43
没有自己编译,readme里面提到用了3个库,需要3个环境变量,你设置了没? (我正在下载,试试编译。) - BOOST Boost installation directory (e.g. C:\Program Files (x86)\boost\boost_1_46_1). - PANTHEIOS  详情 回复 发表于 2015-10-7 19:06
回复

使用道具 举报

 楼主| 发表于 2015-10-7 19:06:36 | 显示全部楼层
四海皆狂龙 发表于 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).
回复

使用道具 举报

 楼主| 发表于 2015-10-7 21:43:09 | 显示全部楼层
四海皆狂龙 发表于 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

点评

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

使用道具 举报

发表于 2015-10-7 22:13:19 | 显示全部楼层
slore 发表于 2015-10-7 21:43
编译过了。

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

我用vs2012编译不过,提示异步接口的某个类没有定义,所以我正在下载2010。那几个依赖刚下载,还没有测试。如果能把依赖干掉就好了,环境搭建很复杂,我想移植到vs2005估计不太容易。

点评

rem 3.修改explorer++代码以支持VS2012以上编译 给你的代码补丁里面,有异步接口重定义的修正啊。 +#ifdef _WIN32_WINNT_WIN8 +#define IAsyncOperation IDataObjectAsyncCapability +#define IID_IAsyncOpera  详情 回复 发表于 2015-10-7 22:51
回复

使用道具 举报

 楼主| 发表于 2015-10-7 22:51:41 | 显示全部楼层
四海皆狂龙 发表于 2015-10-7 22:13
我用vs2012编译不过,提示异步接口的某个类没有定义,所以我正在下载2010。那几个依赖刚下载,还没有测试 ...

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

+#ifdef _WIN32_WINNT_WIN8
+#define IAsyncOperation IDataObjectAsyncCapability
+#define IID_IAsyncOperation IID_IDataObjectAsyncCapability
+#endif

点评

在执行一个subwcrev.exe的时候就出错了,这个好像是生产版本的用的。后来下载了TortoiseSVN,但是还是过不去,生成不了version.h。  详情 回复 发表于 2015-10-8 00:57
回复

使用道具 举报

发表于 2015-10-8 00:57:16 | 显示全部楼层
slore 发表于 2015-10-7 22:51
rem 3.修改explorer++代码以支持VS2012以上编译
给你的代码补丁里面,有异步接口重定义的修正啊。

在执行一个subwcrev.exe的时候就出错了,这个好像是生产版本的用的。后来下载了TortoiseSVN,但是还是过不去,生成不了version.h。

点评

subwcrev.exe?这个是什么命令,没注意。 我直接下载master分支的文件,没用版本管理。 按上面的步骤在VS2015下编译出来的。 今天太晚了,明天再弄吧。  详情 回复 发表于 2015-10-8 01:00
回复

使用道具 举报

 楼主| 发表于 2015-10-8 01:00:18 | 显示全部楼层
四海皆狂龙 发表于 2015-10-8 00:57
在执行一个subwcrev.exe的时候就出错了,这个好像是生产版本的用的。后来下载了TortoiseSVN,但是还是过 ...

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

今天太晚了,明天再弄吧。

点评

我是直接下载官方源码的,不是github. 另外,关于托盘图标不全问题,可以参考下EmergeDesktop代码(不过好像sf上的代码不能直接编译)。经过我测试,它的处理比较好,即使是存在原生explorer的情况下,都不会受到什么  详情 回复 发表于 2015-10-8 02:10
回复

使用道具 举报

发表于 2015-10-8 02:10:13 | 显示全部楼层
slore 发表于 2015-10-8 01:00
subwcrev.exe?这个是什么命令,没注意。
我直接下载master分支的文件,没用版本管理。
按上面的步骤在V ...

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

点评

托盘,我这里第三方应用的显示是全的,图标大小调整了,但是比较细的像素值计算不正确, 导致部分图标没有显示全的问题确认了。 下一版,打算颜色,字体,大小,自定义开始菜单项目,配置文件化, 已经大概设计出  详情 回复 发表于 2015-10-8 11:36
回复

使用道具 举报

 楼主| 发表于 2015-10-8 11:36:08 | 显示全部楼层
四海皆狂龙 发表于 2015-10-8 02:10
我是直接下载官方源码的,不是github.
另外,关于托盘图标不全问题,可以参考下EmergeDesktop代码(不过 ...

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

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

EmergeDesktop的话,我有时间也看看。

点评

我的环境是win7 64位,先灭掉ezplorer,然后开启,图标还是并没有全,但是EmergeDesktop任何时候开启都没有问题,开启的时候只需要运行核心程序和托盘程序就可以了,其它任务栏桌面等等都可以不运行。 explorer++编  详情 回复 发表于 2015-10-8 17:56
回复

使用道具 举报

发表于 2015-10-8 17:56:44 | 显示全部楼层
slore 发表于 2015-10-8 11:36
托盘,我这里第三方应用的显示是全的,图标大小调整了,但是比较细的像素值计算不正确,
导致部分图标没 ...

我的环境是win7 64位,先灭掉ezplorer,然后开启,图标还是并没有全,但是EmergeDesktop任何时候开启都没有问题,开启的时候只需要运行核心程序和托盘程序就可以了,其它任务栏桌面等等都可以不运行。
explorer++编译通过,我在编译那个依赖的时候觉得时间太长,突然想到那只不过是日志用的,而且实在太大了。所以我直接屏蔽掉,作为发行,也可以减少一些体积。
后来我发现,好像explorer也没啥要改的,原版通过界面调整也合适了,原版就是功能太多,并且界面布局等好像不太好看,另外好像没有其它比如Q-DIR这类稳定。当然,开源的用起来更放心。现在看来,重点还是这个托盘。
回复

使用道具 举报

发表于 2015-10-8 19:11:41 | 显示全部楼层
两位都是编程高手,期待更完善的作品。
反馈一些beta2版的问题
1.系统开机运行一个截图程序Winsnap,最小化在托盘区。我结束explorer后运行PExplorer,这个程序没有点击它自己弹出来了。
2.快速启动栏和开始菜单的图标不会即时刷新。删除了还是能看到,点击的时候提示找不到文件。
3.explorer++有时候会崩溃,应该是它本身的问题。暂时还不知道什么情况会导致崩溃。
4.开始菜单--搜索计算机 出错 sshot-4.png
5.双击桌面上的文件夹会打开用户目录,而不是目标文件夹,而且导航栏的部分图标无效。 sshot-5.png 右键打开没问题,但调用的是系统的explorer
一些细节
1.任务栏的时间的字体和其他的图标不一样。感觉像点阵一样。换个平滑一点的好看点。和托盘区靠的太近了点。
2.要是能选择合并任务栏图标就更好了

总的来说已经算很不错了
回复

使用道具 举报

发表于 2015-10-10 18:01:14 | 显示全部楼层
这个一定要支持一下,一直就像找个explorer的替代者,应用到wes7上。期待楼主能尽快放出稳定的版本。
回复

使用道具 举报

发表于 2016-1-18 23:57:28 | 显示全部楼层
很 给力,期待更新    反馈一下问题,快捷方式定位到文件浏览会黑屏

点评

哇,4个月了还有人支持啊。 感谢支持,都不打算更新了,看到你的回复,花了1周时间更新了RC1。 欢迎反馈问题以及提出宝贵建议。  详情 回复 发表于 2016-2-5 01:36
回复

使用道具 举报

 楼主| 发表于 2016-2-5 01:36:29 | 显示全部楼层
gaowazou 发表于 2016-1-18 23:57
很 给力,期待更新    反馈一下问题,快捷方式定位到文件浏览会黑屏

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

感谢支持,都不打算更新了,看到你的回复,花了1周时间更新了RC1。
欢迎反馈问题以及提出宝贵建议。

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-2-5 01:42:34 | 显示全部楼层
有点晚了,PExlorer.jcfg的配置文件说明,有时间再更新下。
提前祝大家新年快乐,身体健康!
回复

使用道具 举报

发表于 2016-2-5 08:58:36 | 显示全部楼层
看看,谢谢分享
回复

使用道具 举报

发表于 2016-2-5 20:10:13 | 显示全部楼层
1.程序改名explorer也启动start10怎么没效果?
66.JPG
2.壁纸用高分辨率的只显示一块,要居中显示,最好和wallpaperhost那样

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

4.文件属性,拖拽这些是缺文件和注册表,你的程序不用考虑

点评

RC1.1 壁纸显示增加拉伸模式了。 用你PE测试了下,拉伸效果和WallpaperHost略有区别, 图片和分辨率的比例比一致导致的,下个次更新改进下, Windows 10系统对拉伸有了很多几个选择(填充模式,适应模式)。  详情 回复 发表于 2016-2-20 00:11
感谢反馈。 1.start10是10月测试了些3方开始菜单,然后改的。就是把开始菜单的类名改成 start了,原来是button。3方应用找不到开始菜单。因为没有license过期了, 后来删除了,具体版本没有留意。官方下载  详情 回复 发表于 2016-2-6 09:05
回复

使用道具 举报

发表于 2016-2-5 21:35:39 | 显示全部楼层
要赞一个 楼主很给力啊
回复

使用道具 举报

发表于 2016-2-5 21:35:44 | 显示全部楼层
要赞一个 楼主很给力啊
回复

使用道具 举报

 楼主| 发表于 2016-2-6 09:05:11 | 显示全部楼层
本帖最后由 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:26 | 显示全部楼层
好工具!希望功能越来越完备!谢谢!
回复

使用道具 举报

发表于 2016-2-6 17:36:47 | 显示全部楼层
我的WIN10今天不知道是怎么了!EXPLORER完蛋了!什么都不能用了!我想看看这个,结果开始用还行,壁纸什么的都不行!桌面和文件管理器在工作中会不能用!

点评

在正常WIN10系统我是直接用自己的shell的,WIN10默认的explorer.exe可以当辅助文件管理器用。 壁纸是由配置文件设定的默认是同目录的wallpaper.jpg,我的附件里面没有包含,没有读取系统的 壁纸位置,因为这个是要  详情 回复 发表于 2016-2-6 18:24
回复

使用道具 举报

 楼主| 发表于 2016-2-6 18:24:40 | 显示全部楼层
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
电脑不知道今天上午是怎么了![attachimg]239209[/attachimg]  详情 回复 发表于 2016-2-6 19:04
回复

使用道具 举报

发表于 2016-2-6 19:04:55 | 显示全部楼层
slore 发表于 2016-2-6 18:24
在正常WIN10系统我是直接用自己的shell的,WIN10默认的explorer.exe可以当辅助文件管理器用。
壁纸是由 ...

电脑不知道今天上午是怎么了! sshot-2.png

点评

你的外壳程序还存在。。。。程序就默认启动文件查看器了。 你看下残留进程又没explorer.exe? 或者用PExlorer.exe -desktop 强制启动桌面。  详情 回复 发表于 2016-2-6 20:53
回复

使用道具 举报

 楼主| 发表于 2016-2-6 20:53:08 | 显示全部楼层
ge 发表于 2016-2-6 19:04
电脑不知道今天上午是怎么了!

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

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

或者用PExlorer.exe -desktop 强制启动桌面。

点评

ge
没有!与explorer.exe有关的都不能用了!就是http://bbs.wuyou.net/forum.php?mod=attachment&aid=MjM5MjA5fDE0OGY5NDE0fDE0NTQ4MDQ5MDl8NDcwNTQwfDM3MTU0MQ%3D%3D&noupdate=yes和桌面会不能用!重启程序才行!  详情 回复 发表于 2016-2-7 08:30
回复

使用道具 举报

发表于 2016-2-7 08:30:57 | 显示全部楼层
slore 发表于 2016-2-6 20:53
你的外壳程序还存在。。。。程序就默认启动文件查看器了。

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


没有!与explorer.exe有关的都不能用了!就是和桌面会不能用!重启程序才行!
回复

使用道具 举报

 楼主| 发表于 2016-2-20 00:11:30 | 显示全部楼层
ljycslg 发表于 2016-2-5 20:10
1.程序改名explorer也启动start10怎么没效果?

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

RC1.1 壁纸显示增加拉伸模式了。
用你PE测试了下,拉伸效果和WallpaperHost略有区别,
图片和分辨率的比例比一致导致的,下个次更新改进下,
Windows 10系统对拉伸有了很多几个选择(填充模式,适应模式)。

点评

壁纸效果很好了,比wallpaperhost显示的清晰 可以再加个更换壁纸的参数 开始菜单还是尽量想办法挂接成熟的第三方吧 自己写很麻烦的吧,看看classicshell怎么样 [attachimg]239877[/attachimg]  详情 回复 发表于 2016-2-20 11:00
回复

使用道具 举报

发表于 2016-2-20 11:00:47 | 显示全部楼层
slore 发表于 2016-2-20 00:11
RC1.1 壁纸显示增加拉伸模式了。
用你PE测试了下,拉伸效果和WallpaperHost略有区别,
图片和分辨率的 ...

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2022-9-28 08:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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