|
本帖最后由 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的话,禁用 显示桌面 功能)
代码:
- hwnd = FindWindow("Shell_TrayWnd", "");
- 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处理消息。
- WIN+D热键,或者点击右下角按钮,可以最小化和还原桌面窗口。任务栏的右键菜单【显示桌面】没有处理。
- WIN+F12退出此程序。(估计用不上)
- PE下没有显卡驱动的情况下,最小化动画效果延时很高,程序启动会禁用最小化动画效果,退出也不还原。(如果想要这个效果的话,WIND.exe 0启动程序,就不改变最小化动画效果设定。)
下载(已经有更完美的解决方案,不建议下载了):
WIND_x64.zip
(3.79 KB, 下载次数: 262)
WIND_x86.zip
(2.89 KB, 下载次数: 203)
|
评分
-
查看全部评分
|