无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4891|回复: 27
打印 上一主题 下一主题

【已解决,版主请帮忙删下此贴】

[复制链接]
跳转到指定楼层
1#
发表于 2009-9-23 13:04:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近做PE3.0的时候一直很困惑,为何Explorer作Shell的PE就不能显示壁纸,而BSExplorer作Shell的PE就可以,

一直认为是“外观与个性化不可用”导致的,而到今天我才恍然大悟,

我在正常系统中切换到“Windows 经典”主题,才发现,原来,不光是PE,在Win7中,只要设置为经典主题,壁纸就不可用,取而代之的是设置背景颜色···

所以说,如果要设置壁纸,必须使用Basic或Aero主题···很显然,PE作为维护系统,没必要开启那么庞大的主题···


直路不通,也只能去想歪路,据我所知桌面应该是分为四层的,倒不如由PECMD生成一个壁纸的窗口,然后嵌入在桌面的层当中···




PS:以上纯属小白言论,如有错误,请版主立即删除···

[ 本帖最后由 yulon 于 2009-9-28 17:18 编辑 ]
2#
发表于 2009-9-23 19:41:22 | 只看该作者
貌似以前有人说过这个问题  然后给了个解决方案  就是不太成熟  需要使用IrfanView

IrfanView将图片设置为墙纸的功能就能把图片设置为墙纸   就是需要进系统后手动设置才行
回复

使用道具 举报

3#
 楼主| 发表于 2009-9-24 19:44:15 | 只看该作者
原帖由 sratlf 于 2009-9-23 19:41 发表
貌似以前有人说过这个问题  然后给了个解决方案  就是不太成熟  需要使用IrfanView

IrfanView将图片设置为墙纸的功能就能把图片设置为墙纸   就是需要进系统后手动设置才行




你完全没有听懂我的意思,我是说用Explorer作Shell·········BSExplorer的,PECMD就能设壁纸····
回复

使用道具 举报

4#
发表于 2009-9-24 20:15:52 | 只看该作者
原帖由 yulon 于 2009-9-24 19:44 发表




你完全没有听懂我的意思,我是说用Explorer作Shell·········BSExplorer的,PECMD就能设壁纸····



我知道你的意思  那个也是explorer的   但是是用IrfanView强行设置的壁纸   我只是单纯说这个事实   看到你的帖子想起来有这回事   就直接回了
回复

使用道具 举报

5#
 楼主| 发表于 2009-9-24 20:23:32 | 只看该作者
原帖由 sratlf 于 2009-9-24 20:15 发表



我知道你的意思  那个也是explorer的   但是是用IrfanView强行设置的壁纸   我只是单纯说这个事实   看到你的帖子想起来有这回事   就直接回了





不可能的事···无图无真相,你要是能截图,我就给你磕头~

还有,我说的是做Shell,explorer做shell···
回复

使用道具 举报

6#
发表于 2009-9-24 20:59:54 | 只看该作者
原帖由 yulon 于 2009-9-24 20:23 发表





不可能的事···无图无真相,你要是能截图,我就给你磕头~

还有,我说的是做Shell,explorer做shell···



信不信由你  就是explorer做的shell   不是bsexplorer   这是我以前看的了   在一个个人博客上   我自己没有试验过   还有  说话别那么刺   你永远不知道你所知道的不可能究竟可不可能实现
回复

使用道具 举报

7#
 楼主| 发表于 2009-9-24 21:22:07 | 只看该作者

回复 #6 sratlf 的帖子

可能话有些刺,抱歉,只是太想知道真相了···
回复

使用道具 举报

8#
发表于 2009-9-25 02:34:04 | 只看该作者
你说的是Win7PE吧,本人试过,现在所见到的Win7PE就算用IrfanView也无法设置壁纸。
对VistaPE来说,只能应用BMP文件才能设置壁纸,这个时候PECMD.EXE是有效的。
在VistaPE系统中,系统自身所带的画图也只能用BMP设置壁纸,而JPG不管如何弄都无效。

对NT5.x系列PE来说,PECMD.EXE可以将BMP、JPG文件设置成壁纸,可以说是100%成功的。

如果在NT5.x系列PE中用PECMD不能设置壁纸,只能说这个PE系统有问题,
本人手头上一个32M的PE都可以用PECMD.EXE设置壁纸,不管是启动过程中或启动以后。

如果你发现有哪个Win7PE可以用IrfanView设置壁纸的话,传上论坛,本人再看看。

[ 本帖最后由 lxl1638 于 2009-9-25 17:23 编辑 ]
回复

使用道具 举报

9#
发表于 2009-9-25 16:10:12 | 只看该作者
其实回完贴我就在找了   不过时间太长真的忘了在哪个网站上看到的了   几个月以前把   好像还是在win7测试版的时候了   我再找找
回复

使用道具 举报

10#
发表于 2009-9-25 20:29:53 | 只看该作者
已经帮你找到,不过本人测试没通过!
http://bbs.wuyou.net/forum.php?m ... amp;extra=page%3D24
回复

使用道具 举报

11#
 楼主| 发表于 2009-9-25 20:39:02 | 只看该作者
原帖由 小咕咚 于 2009-9-25 20:29 发表
已经帮你找到,不过本人测试没通过!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=147214&extra=page%3D24



很老的帖子···

那是PE2.1···

3.0的话,绝对是BSExplorer做shell的PE~

[ 本帖最后由 yulon 于 2009-9-26 20:03 编辑 ]
回复

使用道具 举报

12#
发表于 2009-9-25 21:08:56 | 只看该作者

回复 #10 小咕咚 的帖子

恩  就是这个  我竟然忘了在无忧找了  失误   当时还没权限  没办法下载ftp   所以就没有试验   抱歉了
回复

使用道具 举报

13#
发表于 2009-9-25 21:39:29 | 只看该作者
bs根本不具交互性, 用它还不如直接命令行!
NT61PE的壁纸牵涉到传真和图片查看(包括可移动磁盘的自动运行),桌面幻灯/桌面主题,貌似还与WindowsPowerShell有关,本来当初还以为可用使用XP的传真和图片查看取代,结果取代后才发现只能看图而已:)
不过有一点可用肯定的是, winpeshl.exe 是可以加载壁纸的, 本人不懂编程只好瞎说,  是否可用这东东的某个参数作下文章?

[ 本帖最后由 玄天 于 2009-9-25 21:54 编辑 ]
回复

使用道具 举报

14#
发表于 2009-9-25 23:55:07 | 只看该作者
我只知道NT5.x使用SystemParametersInfoA函数设置壁纸的话必须将图片转换为BMP图片,NT6.x可将GDI+所支持的图片格式设为壁纸。装有双系统的可以查看注册表HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper,NT5.x的必定是BMP图片,而NT6.x的可以是JPG、GIF、PNG等。其实不管用什么图片系统最终显示出来的都是BMP。PE3.0分明是有意不让设置壁纸。如果桌面图标不被描绘的图片覆盖的话,创建一个时钟程序不停描绘一张图片达到显示壁纸的效果。

[ 本帖最后由 270979789 于 2009-9-26 00:31 编辑 ]
回复

使用道具 举报

15#
发表于 2009-9-26 17:49:57 | 只看该作者
在EXPLORER进程中插入图片,和显示壁纸效果一样,成功几率比较小,N次成功1次。

Windows Vista-2009-09-26-17-44-46.jpg (126.8 KB, 下载次数: 16)

Windows Vista-2009-09-26-17-44-46.jpg
回复

使用道具 举报

16#
发表于 2009-9-26 17:50:58 | 只看该作者
不知道好不好啊~!!!!!!!!!!!!
回复

使用道具 举报

17#
发表于 2009-9-26 18:02:18 | 只看该作者
原帖由 270979789 于 2009-9-26 17:49 发表
在EXPLORER进程中插入图片,和显示壁纸效果一样,成功几率比较小,N次成功1次。



如何实现?HOOK?
回复

使用道具 举报

18#
 楼主| 发表于 2009-9-26 18:39:21 | 只看该作者

回复 #15 270979789 的帖子

和我想的一样···问题就是E程序太大了···

PS: 源码发上来,研究研究···
回复

使用道具 举报

19#
发表于 2009-9-26 18:59:35 | 只看该作者

回复 #17 lxl1638 的帖子 #18 yulon 的帖子

原理很简单,讲出流程基本都会。精简版不能通过,可能是缺少smss.exe的缘故。
1.枚举桌面SysListView32控件句柄。
2.打开Explorer进程写入LVBKIMAGE数据结构。
3.SendMessageA (控件句柄, 4164, 0, 数据结构内存地址)

数据类型 LVBKIMAGE
成员 ulFlags, 整数型            //2
成员 hbm, 整数型               //0   
成员 pszImage, 整数型       //图片路径内存地址
成员 cchImageMax, 整数型     //图片路径内存地址长度
成员 xOffsetPercent, 整数型   //坐标
成员 yOffsetPercent, 整数型

此方法支持JPG和BMP,必须运行Explorer后插入。

[ 本帖最后由 270979789 于 2009-9-26 19:12 编辑 ]
回复

使用道具 举报

20#
发表于 2009-9-26 19:39:13 | 只看该作者
原帖由 yulon 于 2009-9-25 20:39 发表



很老的帖子··· 但我肯定,uepon前辈用的绝对是BSExplorer做shell的PE~


是Explorer。请确认。
回复

使用道具 举报

21#
发表于 2009-9-26 19:42:44 | 只看该作者
PE2.1 Explorer 外壳 ,JPG文件。
回复

使用道具 举报

22#
 楼主| 发表于 2009-9-26 20:03:53 | 只看该作者
原帖由 uepon 于 2009-9-26 19:39 发表


是Explorer。请确认。



但那是2.1···
回复

使用道具 举报

23#
发表于 2009-9-26 20:24:06 | 只看该作者
原帖由 uepon 于 2009-9-26 19:39 发表


是Explorer。请确认。

老大,以前的win7不同于现在的win7:)
其实壁纸无所谓, 微软有史以来首次发布了一个半成品操作系统, 那就是当今的 Windows 7(现在最终的7600也是所有7xxx系列中兼容性最差的一个,并且本地化文件也差很多,还有本地化翻译错误),等微软最终完善系统后壁纸应该是不成问题的(现在的桌面和WMP都是半残品)
回复

使用道具 举报

24#
发表于 2009-9-26 20:32:45 | 只看该作者
或许可以曲线救图:)
壁纸与系统内置的图片/传真查看效果(图片库可以运行,但只能在全屏幕才会显示), 如果使用 live 的照片库代替~~~~
实在无心折腾了
回复

使用道具 举报

25#
 楼主| 发表于 2009-9-26 21:45:41 | 只看该作者
原帖由 玄天 于 2009-9-26 20:24 发表

老大,以前的win7不同于现在的win7:)
其实壁纸无所谓, 微软有史以来首次发布了一个半成品操作系统, 那就是当今的 Windows 7(现在最终的7600也是所有7xxx系列中兼容性最差的一个,并且本地化文件也差很多,还有本 ...




其实XP的兼容最差···大堆的DOS游戏都玩不来···
回复

使用道具 举报

26#
发表于 2009-9-26 23:46:19 | 只看该作者
楼主可以修改标题了,已经有人测试成功。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=150599&extra=page%3D1
这是本人测试截图[平铺]:

2346.JPG (62.85 KB, 下载次数: 19)

2346.JPG
回复

使用道具 举报

27#
发表于 2009-9-27 06:40:21 | 只看该作者
原帖由 270979789 于 2009-9-26 18:59 发表
原理很简单,讲出流程基本都会。精简版不能通过,可能是缺少smss.exe的缘故。
1.枚举桌面SysListView32控件句柄。
2.打开Explorer进程写入LVBKIMAGE数据结构。
3.SendMessageA (控件句柄, 4164, 0, 数据结构 ...

高人啊,这样会不会被误认为是病毒啊.......
回复

使用道具 举报

28#
发表于 2009-9-27 06:41:30 | 只看该作者

回复 #26 小咕咚 的帖子

厉害啊!支持!!!!!!!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-21 08:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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