无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6393|回复: 28
打印 上一主题 下一主题

[已解决] Win10PE 桌面图标如何取消自动排列

[复制链接]
跳转到指定楼层
1#
发表于 2017-9-19 09:43:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 whyme22 于 2018-11-28 14:15 编辑

各位老大们,发现论坛里的PE很多是自动排列图标的,取消自动排列的PE比较少。

我是用鱼大提供的Sh搜索外置,加载了外置后,桌面一堆图标,又遇上自动排列图标,这就尴尬了。
有时候有文件想临时拖到桌面上放一下,结果自动排列了找半天找不到;
有时候拖一个文件放高了一点,直接把我的电脑的图标位置给占用了,我的电脑跑别的位置去了,这让强迫症怎么接受……

我试过监测注册表,然后右键菜单里取消自动排列图标的勾,但是没有发现注册表的改动,不知道是监测姿势不对,还是要修改替换文件
不知道论坛里的大师们有没有什么办法解决这个问题了,先谢谢了

点评

调用菜单 加 编号,1眼就能找到了。如果结合ahk脚本,完全可以黑灯操作。  发表于 2017-9-21 19:04
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=397751&extra=  发表于 2017-9-21 19:01
推荐
发表于 2017-9-19 10:49:42 | 只看该作者
罪魁祸首都是因为桌面放太多图标眼花缭乱
回复

使用道具 举报

推荐
发表于 2017-9-19 21:46:11 | 只看该作者
我不喜欢没箭头, 鱼目混珠, 真假难辨.
假的就是假的, 伪装需要剥去.
可有人偏把没箭头说成是美化.
我不认为这是美化.
回复

使用道具 举报

2#
发表于 2017-9-19 10:42:49 | 只看该作者
有人拼命去搞桌面图标自动排列
而又有人拼老命去掉自动排列
真是冰火两重天
回复

使用道具 举报

4#
发表于 2017-9-19 11:15:38 | 只看该作者
自己百度一下
回复

使用道具 举报

5#
发表于 2017-9-19 11:39:46 | 只看该作者
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop

在右侧找到 FFlags类型:REG_DWORD通过修改数据可以实现以下功能

0x40200225表示自动排列,网格对齐
0x40200224表示不自动排列,网格对齐
0x40200221表示自动排列,网格不对齐
0x40200220表示不自动排列,网格不对齐

这个项的权限好像一般的捕获软件捕获不到修改,所以无法对比
回复

使用道具 举报

6#
发表于 2017-9-19 12:41:23 | 只看该作者
简单的方法:
桌面空白处,点鼠标右键,移至[排列图标],可以看到[自动排列]和[对齐到网格],你自己决定勾选还是取消勾选。
回复

使用道具 举报

7#
 楼主| 发表于 2017-9-19 14:06:34 | 只看该作者
金 发表于 2017-9-19 11:39
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop

在右侧找到 FFlags类型:REG_DWORD ...

太感谢金大了 解决了困扰我多时的问题 谢谢
回复

使用道具 举报

8#
发表于 2017-9-19 20:52:49 | 只看该作者
金 发表于 2017-9-19 11:39
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop

在右侧找到 FFlags类型:REG_DWORD ...

不是权限的问题,不是右键菜单设置,这个值就变化的,修改的话是explorer内存中设置显示模式,正常退出的话,系统会保存,regshot就能检查到。
回复

使用道具 举报

10#
发表于 2017-9-20 08:22:09 | 只看该作者
slore 发表于 2017-9-19 20:52
不是权限的问题,不是右键菜单设置,这个值就变化的,修改的话是explorer内存中设置显示模式,正常退出的 ...

修改的话是explorer内存中设置显示模式
这句话如何理解?具体如何操作?
回复

使用道具 举报

11#
发表于 2017-9-20 10:23:24 | 只看该作者
本帖最后由 slore 于 2017-9-20 11:07 编辑
令狐大虾 发表于 2017-9-20 08:22
修改的话是explorer内存中设置显示模式
这句话如何理解?具体如何操作?


这么给你说吧,比如有个a.txt里面是abc,你用记事本notepad.exe打开,把
abc改成def,你看到的def是程序内存存储的数据,你不保存的话,a.txt文件里面还是abc。

同样的,explorer.exe启动的时候从注册表读取桌面显示设定,
然后呈现给你看,你可以右键菜单自己调节,然后关机(正常结束explorer.exe),
explorer.exe在退出是调用保存设定到注册表的方法,这样你就可以再开机按你
最后的设定显示图标了。

过程中的操作,都是临时的,所以注册表你监视不到,正常结束掉explorer进程,
让它触发 保存 操作就可以了。

如果用程序自己动态随时设定的话,
通过 GetDesktopWindow获得桌面句柄,再获取它的IShellView,IFolderView接口,
你就可以动态地随时修改显示状态。

  1. SetCurrentViewMode(大图标|小图标|列表|详细信息)
  2. SetCurrentFolderFlags(自动排列|对齐到网格)
复制代码


改变,需要重启生效的话,自己调用SaveStream,SaveViewState之类的方法就行了。
利用微软提供的程序接口的话,不用关系实际的注册表项目在什么地方。

GetCurrentViewMode()
https://msdn.microsoft.com/en-us/library/windows/desktop/bb762510(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/bb775618(v=vs.85).aspx

GetAutoArrange()
https://msdn.microsoft.com/en-us/library/windows/desktop/bb775576(v=vs.85).aspx
SetCurrentFolderFlags()
https://msdn.microsoft.com/en-us/library/windows/desktop/bb762508(v=vs.85).aspx
回复

使用道具 举报

12#
发表于 2017-9-20 18:09:14 | 只看该作者
金 发表于 2017-9-19 11:39
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop

在右侧找到 FFlags类型:REG_DWORD ...

感谢金大我也有取消排列这个想法,终于解决了,做成注册表文件导入后一刷新explorer就立即显效,太棒了,想在问个问题,我用WinPE生成器 1.6版做的PE,explorer窗口的大小不能保存该如何解决?请有空指教下。
回复

使用道具 举报

13#
发表于 2017-9-20 21:10:39 | 只看该作者
slore 发表于 2017-9-20 10:23
这么给你说吧,比如有个a.txt里面是abc,你用记事本notepad.exe打开,把
abc改成def,你看到的def是程 ...

谢谢!
回复

使用道具 举报

14#
发表于 2017-9-21 16:44:20 | 只看该作者
2012dfww 发表于 2017-9-20 18:09
感谢金大我也有取消排列这个想法,终于解决了,做成注册表文件导入后一刷新explorer就立即显效,太棒了, ...

这个Exp的问题还真没有研究过,不好意思 帮不到你
回复

使用道具 举报

15#
发表于 2017-9-21 16:47:21 | 只看该作者
slore 发表于 2017-9-19 20:52
不是权限的问题,不是右键菜单设置,这个值就变化的,修改的话是explorer内存中设置显示模式,正常退出的 ...

哈哈,感谢。这个我还没了解,还以为是regshot权限不够。
回复

使用道具 举报

16#
发表于 2017-9-21 16:52:07 | 只看该作者
slore 发表于 2017-9-20 10:23
这么给你说吧,比如有个a.txt里面是abc,你用记事本notepad.exe打开,把
abc改成def,你看到的def是程 ...

改变,需要重启生效的话,自己调用SaveStream,SaveViewState之类的方法就行了。
利用微软提供的程序接口的话,不用关系实际的注册表项目在什么地方。

请问下这句话所说的 “调用SaveStream,SaveViewState之类” , 这两个是API还是对象内的方法
可以作为修改刷新explorer之用吗,例如修改了Explorer样式需要关闭Explorer重启才能有效果。

又或者有其他函数可以实现 exolorer 不重启刷新设置吗, 先谢了
回复

使用道具 举报

17#
发表于 2017-9-21 19:15:04 | 只看该作者
金 发表于 2017-9-21 16:52
改变,需要重启生效的话,自己调用SaveStream,SaveViewState之类的方法就行了。
利用微软提供的程序接口 ...

说的有歧义,不好意思。直接调用SetCurrentFolderFlags就是不重启explorer生效的,不过我上面说了,
这种状态是内存状态,如果你强制结束explorer,在启动的话,还是旧的设置。

自己调用了SaveViewState方法的话,会保存当前设定到注册表,然后强杀explorer在启动也会用新的设置。
这2个对象是IShellFolderView的方法,需要用API先获取桌面对象,再调用,上面的SetCurrentFolderFlags也是一样的用法。

另外自己修改了注册表,发个全局广播,告诉所有程序,你有系统变更,如果explorer处理这个消息也会刷新,不过不是所有的设定都重新加载,比如显示扩展名之类的,explorer会处理,除了桌面,还有其他打开文件管理器窗口都要刷新,这个FFlags只是桌面的,估计不行。
回复

使用道具 举报

18#
发表于 2017-9-22 07:33:34 | 只看该作者
谢谢分享
回复

使用道具 举报

19#
发表于 2017-9-22 12:20:32 | 只看该作者
本帖最后由 金 于 2017-9-22 12:21 编辑
slore 发表于 2017-9-21 19:15
说的有歧义,不好意思。直接调用SetCurrentFolderFlags就是不重启explorer生效的,不过我上面说了,
这 ...


在不杀掉explorer情况下保存内存中设置到注册表再刷新。这个就是我像要的效果,可惜有些设置不行

而windows自己的设置窗口 设置后又可以实时刷新,谷歌 MSDN 百度 没有找到相关的介绍。 😔
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-17 07:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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