无忧启动论坛

标题: WIN+D(显示桌面) 4 Windows 10 PE [打印本页]

作者: slore    时间: 2016-6-3 22:47
标题: WIN+D(显示桌面) 4 Windows 10 PE
本帖最后由 slore 于 2017-4-15 17:27 编辑

===========================================2017-04-15===========================================
根据noelBlanc于2017-03-23发表的调查,explorer的任务栏有个模式,默认是0,如果设置为桌面模式的话,
就可以使用 显示桌面 功能,正常系统加载某组件成功后,会发送切换消息,但是由于PE的组件不全,所以这个切换消息没有,
导致无法使用 显示桌面 功能。当任务栏创建好后,我们主动进行下,explorer.exe!Tray::ModeChanged()就行了。

具体做法是:
给任务栏"Shell_TrayWnd"窗口,发送 WM_USER(0x400) + 0x1BA消息,WParam为0, lParam为0就可以切换。(WParam为1的话,禁用 显示桌面 功能)

代码:
  1. hwnd = FindWindow("Shell_TrayWnd", "");
  2. SendMessage(hwnd, 0x5BA, 0, 0);
复制代码

论坛会autoit的,会pecmd写脚本的人很多,我自己的1KB的WIND.exe就扔了。
PE下,explorer.exe不全面,各种状况需要刷新重启进程,你们自己处理,每次重建后重新发消息吧。


===========================================2016-06-04===========================================
PExlorer的文件资源管理器和开始菜单的代替方案基本使用上没啥问题了,所以最近在清理代码,
把以前的容易出错的内置文件资源管理器的代码和开始菜单项删除了。看到“显示桌面”这块代码不过100行,
偶尔用了几个使用自带explorer外壳的WIN10 PE,发现显示桌面都无法使用,就单独提取出来编译个小工具WIND.exe。

功能就是“显示桌面/还原桌面窗口”,本来3KB的程序能搞定的,为了响应explorer右下角的“显示桌面”按钮,又加了个3KB的DLL处理消息。



下载(已经有更完美的解决方案,不建议下载了):
WIND_x64.zip (3.79 KB, 下载次数: 262)
WIND_x86.zip (2.89 KB, 下载次数: 204)


作者: 坏坏小生    时间: 2016-6-3 23:59
好东东,感谢楼主,明天测试一下!~
作者: tegl    时间: 2016-6-4 08:14
本帖最后由 tegl 于 2016-6-5 20:17 编辑

已测,好用,这下10PE完美了

任务栏的右键菜单【显示桌面】没有处理。


期待处理一下
作者: 2010feicool    时间: 2016-6-4 21:32
之前一直用VB的功能
CreateObject("Shell.Application").MinimizeAll
来试试你的小玩具
作者: cakeandjam    时间: 2016-6-5 11:52
thank you
作者: weareare    时间: 2016-6-5 14:55
好東西總是不寂寞的!!!
作者: 坏坏小生    时间: 2016-6-6 08:44
本帖最后由 坏坏小生 于 2016-6-6 09:28 编辑

经测试,此程序必须资源管理器启动后运行才生效,不会等待资源管理器!~如果先于资源管理器启动则无效
作者: slore    时间: 2016-6-6 09:54
坏坏小生 发表于 2016-6-6 08:44
经测试,此程序必须资源管理器启动后运行才生效,不会等待资源管理器!~如果先于资源管理器启动则无效

要响应explorer的热键,和右下角点击动作,是的必须启动explorer否则找不到消息处理对象。
另外,explorer刷新后也是无效,因为是DLL注入指定进程。没有做explorer的监视重新注入动作。
作者: 坏坏小生    时间: 2016-6-6 11:15
slore 发表于 2016-6-6 09:54
要响应explorer的热键,和右下角点击动作,是的必须启动explorer否则找不到消息处理对象。
另外,explor ...

建议监视一下资源管理器,毕竟它是需要常驻内存的进程
作者: 老鬼    时间: 2016-6-11 12:07
这才是广大人民群众喜闻乐见的东西,之前下了好多个WIN10 PE 就是没有显示桌面那个功能放弃了,这个下来试试看怎么用,如果功能好用的话就跟进10PE时代了

作者: kcyou    时间: 2016-7-27 18:38
能不能增加显示任务栏图标功能,即替代win+T
作者: slore    时间: 2016-7-30 09:02
kcyou 发表于 2016-7-27 18:38
能不能增加显示任务栏图标功能,即替代win+T

不怎么使用3方PE了,没用过这个热键,等下个月win10正式版出来没人解决的话,看看。
作者: belenkwong    时间: 2016-9-24 19:27
支持大神繼續研發這類輔助性質的東西。
作者: luangao9hao    时间: 2016-10-14 09:21
试用了一下,刷新EXPLORER,WAIT 2000,再启动WIND,还是不能生效。如果能解决这个问题就完美了。。。
期待楼主更新
作者: foxfirefox    时间: 2016-11-10 08:26
试了一下  
kill explorer.exe
wait 1000
exec wind.exe
是有用的。。
作者: 贝壳iT    时间: 2016-12-4 22:13
非常不错的hook,不过目前有个小bUG,就是刷新 explorer.exe 后,也就是重启 explorer.exe 后功能失效。
作者: slore    时间: 2016-12-4 23:20
贝壳iT 发表于 2016-12-4 22:13
非常不错的hook,不过目前有个小bUG,就是刷新 explorer.exe 后,也就是重启 explorer.exe 后功能失效。

不算是bug,因为本来就刷新shell本来是explorer处理的不足导致的,没为这个买单,想着完善了explorer就不用管的。另外重启的时候也重启wind.exe的话也可以的。其实wind第一版是自己注册热键WIN+D,先于explorer启动,这样explorer刷新也不影响的(其实是独立的程序也不用hook,没用explorer都可以工作),但是因为顺便处理了右下角按钮事件,所以得hook消息,explorer重启的话,就失效了。当然最后版本因为处理explorer的右下角点击,所以热键也是处理explorer的,所以本身WIN+D的热键被我删除了。。。
作者: slore    时间: 2016-12-4 23:24
换了1060显卡的新电脑,专心娱乐,游戏,生活了,以前搞过的代码懒得再搞了(开发环境啥的都不想装),反正都是一时兴起做做看,
做到能实现的状态,自己就懒得往下细改了,因为没有难度,脑子中补点代码肯定能完成的功能,而且我自己本身压根就不用PE就没有兴趣做下去了。
作者: 贝壳iT    时间: 2016-12-5 08:29
本帖最后由 贝壳iT 于 2016-12-5 08:53 编辑
slore 发表于 2016-12-4 23:20
不算是bug,因为本来就刷新shell本来是explorer处理的不足导致的,没为这个买单,想着完善了explorer就不 ...


不错,可以加句不间断从重新hook,这样不管启动先后顺序和是否刷新了
或者判断hook的返回。失效重新注入。
作者: a-bo    时间: 2016-12-8 21:40
大家要刷新explorer的话建议这样做,建立一个ini,如ReExp.ini,放在windows下面,内容如下:
KILL EXPLORER.EXE
KILL WIND.EXE
_SUB HOOK_EXP
        WAIT 2000
        FIND WIND.EXE,EXIT _SUB
        FIND EXPLORER.EXE,EXEC %WinDir%\WIND.EXE
        CALL HOOK_EXP
_END
CALL HOOK_EXP

然后把以前刷新explorer的快捷方式修改为:PECMD.EXE LOAD %windir%\ReExp.ini
这样可以变通的保证能hook,不过如果在任务管理器里kill掉exp那也就没辙了,呵呵。
作者: 2012hzy6420    时间: 2016-12-9 07:15
谢谢分享
作者: parsons    时间: 2017-1-14 07:16
slore 发表于 2016-12-4 23:24
换了1060显卡的新电脑,专心娱乐,游戏,生活了,以前搞过的代码懒得再搞了(开发环境啥的都不想装),反正都 ...

微軟開發 PE 就是要讓大家用
否則正在使用中系統一出問題 , 要安裝另一完整系統來處理
曠日費時

讓 PE 順手好用人人有責!  


作者: slore    时间: 2017-4-15 17:31
遗留问题,更新最新解决方案。 15063也适用。用了下论坛的带explorer.exe的测试了下,OK,发现cmd.exe命令居然没法滚轮回看输出内容,果断回归boot.wim。
作者: wimboot    时间: 2017-4-15 17:59
slore 发表于 2017-4-15 17:31
遗留问题,更新最新解决方案。 15063也适用。用了下论坛的带explorer.exe的测试了下,OK,发现cmd.exe命令 ...

boot.wim加第三方桌面是最终的选择 支持楼主
作者: ruiguowen    时间: 2017-8-19 14:48
有什么更好的方式呢,比如缺少哪个组件,补齐了,在修改好注册表
作者: qq511535986    时间: 2017-8-30 14:51
最新的回复看不懂,我是菜鸟,大神有没有空,能不能说得通俗点给个教程,谢谢
作者: slore    时间: 2017-8-30 16:40
qq511535986 发表于 2017-8-30 14:51
最新的回复看不懂,我是菜鸟,大神有没有空,能不能说得通俗点给个教程,谢谢

意思就是桌面启动起来了,给他发送个消息,告诉他切换到桌面模式,
具体消息号就是1楼的更新内容。

如果对编程没有概念和经验的话,建议直接使用下面这些成品。
另外,好像最新版本的PECMD.exe也增加了,给系统桌面发送此消息的处理。

立帮电子
10PE中WIN+D显示桌面 成品
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=397522

haijie1223
解决WIN10PE中WIN+D显示桌面问题
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=388971

2012jiashanni
源代码:真正解决Win10PE 任务栏右键及屏幕右下角显示桌面无效的问题,亲测有效
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=387383
Win10PE显示桌面源代码 易语言+AU3两个源代码,解决手工制作无法显示桌面的问题
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=387361

求道者
Win10PE显示桌面的AHK脚本……[未编译 有源代码]
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=387975
作者: hhh333    时间: 2017-8-30 17:09
slore 发表于 2017-8-30 16:40
意思就是桌面启动起来了,给他发送个消息,告诉他切换到桌面模式,
具体消息号就是1楼的更新内容。

是的,M大已经作了处理,测试也通过了,用户不用关心这个了,kill explorer也直接隐含处理了。关键是用PECMD接管控制的最方便的,用其他的SHELL的可能要另外处理。
作者: qq511535986    时间: 2017-9-1 13:48
slore 发表于 2017-8-30 16:40
意思就是桌面启动起来了,给他发送个消息,告诉他切换到桌面模式,
具体消息号就是1楼的更新内容。

好的,谢谢  我试了一下WIN_D.EXE用着效果可以实现,但是PECMD的两行代码实现不了,可能是我弄错了吧,很感谢
作者: wuyufeng    时间: 2017-10-13 19:25
谢谢分享
作者: ybzqw    时间: 2020-1-7 09:38
学习下 谢谢分享
作者: yjqd    时间: 2020-8-30 08:55
问一下,可以写成vbs脚本吗
hwnd = FindWindow("Shell_TrayWnd", "");
SendMessage(hwnd, 0x5BA, 0, 0);

作者: slore    时间: 2020-8-30 09:31
yjqd 发表于 2020-8-30 08:55
问一下,可以写成vbs脚本吗
hwnd = FindWindow("Shell_TrayWnd", "");
SendMessage(hwnd, 0x5BA, 0, 0);
...

这个是C/C++的代码。 VBS不使用第三方组件,不支持调用系统API。

作者: yjqd    时间: 2020-8-30 09:45
slore 发表于 2020-8-30 09:31
这个是C/C++的代码。 VBS不使用第三方组件,不支持调用系统API。

哦,谢谢
--------------------------------------------
顺便感谢下你的WimBuilder2脚本
让我终于明白了右键菜单"发送到桌面快捷方式"是中文的原因
实现了加载显卡驱动后调整屏幕亮度


作者: zyy    时间: 2025-4-24 22:07
学习,谢谢分享




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