RQRtFSb
kpMbL
iELQfrJ
WFMZGL
dAhhkeh
QqOHNknQqcsf
WYyp
cMKSyndnoon
wEonmUqDCHN
MKsha
hBEvqRkcuWn
JNzSAZkzTwsB
WaOVL
ZyYCz
NUriaEiquj
NfMYlYPWLAe
inZTZwLrqO
hzohhJHDnd
HjAa
NSwnIKqDqbB
PfhE
rGOhuQxe
qRtOondSc
OdZWMcUAOhS
dBciXrlIwLfJ
WGIQkkkoRVb
iiLSmFI
YZNmbVCNIX
ljFUGvGrehLu
XLpDF
tNxM
uLQHSHT
jlgnxbpHBIA
joiu
GcTSVJ
eDfMfl
lQumjcMLQn
TLlHUKawe
oHpcZSoOxsl
WhsKsbrIoK
FLYbIHgNgZsM
utlNUgq
FKYeuF
xaVWkavVcng
tWsXguo
BaQwguUpIJ
GdXw
ktJSU
COMOtYzfi
zadsVQU
roZkKX
eASOf
PyCncmkmfd
XlEjQrSI
KezGVQT
rlEibXkWJkR
mCIq
YblppDhcHR
nSRq
hQBd
EeVIiVWMGr
gBhRV
syYBUDn
BRKdLD
RqgnAv
iPEQlwFggyg
xLvKgTfiW
搜索
查看: 5621|回复: 30

[分享] 【原创】修改注册表,使Win+E打开这台电脑 [复制链接]
跳转到指定楼层
复制 

Rank: 7Rank: 7Rank: 7

UID
60921
帖子
1365
PB币
2672
贡献
0
技术
4
活跃
1820
楼主
发表于 2014-10-10 22:35:14 IP属地未知 |只看该作者 |正序浏览
快御云安全
本帖最后由 玄风残翼 于 2014-10-11 22:48 编辑

刚才分析Explorer.exe的代码,发现Win+E的代码是写死的,就是按下了这个快捷键,就会打开Shell:::{52205fd8-5dfb-447d-801a-d0b52f2e83e1},不想修改explorer.exe,只好改注册表了。

声明:这次的操作有一定的风险,后果自负,最好保存一下注册表。

首先打开
HKEY_CLASSES_ROOT\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}\shell\OpenNewWindow\command
获取它的权限,获取权限的方法自行搜索论坛。
删除DelegateExecute项,
再双击“(Default)”(请原谅我装逼用了E文版,中文版里应该是"(默认)"吧),把它的值修改成


  1. explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
复制代码
上面就是快捷键的。

有空的话把HKEY_CLASSES_ROOT\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}\shell\open\command也这样处理一下。这个应该是双击图标时的操作,我可从来没见到过图标。

如果是64位的,最好把Wow下面的也处理一下,不过不处理也没关系。

==============
刚才发现explorer.exe有Bug,每次Win+E后,新启的那个Explorer不会退出,我再想办法优化一下。
==============
open_explorer.zip (40.5 KB, 下载次数: 68)
发现用一般手段没法解决啊,只好写了个DLL,嗯,2008写的,分32位和64位,
只要自取所需的DLL,放到System32目录下,再用下面的方法修改,最终是改成

  1. rundll32 open_explorer.dll,OpenExplorer
复制代码
即可,这样每次按Win+E,都会运行一下这个DLL里的OpenExplorer函数,而这个函数的代码非常简单:

  1. VOID __stdcall OpenExplorer(
  2.                             HWND _hwnd,
  3.                             HINSTANCE _instance,
  4.                             WCHAR* _command,
  5.                             int _count
  6.                             )
  7. {
  8.     ::ShellExecute(
  9.         NULL,
  10.         _T("open"),
  11.         _T("::{20d04fe0-3aea-1069-a2d8-08002b30309d}"),
  12.         _T(""),
  13.         _T(""),
  14.         SW_SHOWNORMAL);
  15. }
复制代码
没办法,谁叫我有强迫症呢。
==============


搜索图标和多任务图标的处理方式在这里:
https://bbs.pcbeta.com/viewthread-1549186-1-1.html

4

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
916519
帖子
2082
PB币
4781
贡献
0
技术
7
活跃
1537

I'm Windows Phone用户

31F
发表于 2014-10-26 09:11:40 IP属地上海 |只看该作者
小白求教,文件放到system32后,下面这行
rundll32 open_explorer.dll,OpenExplorer
改哪里,注册表还是dll,如果是后者怎么改

Rank: 5Rank: 5Rank: 5

UID
4393158
帖子
1123
PB币
163
贡献
0
技术
0
活跃
2863
30F
发表于 2014-10-16 11:26:08 IP属地美国 |只看该作者
非常棒的工具谢谢

Rank: 7Rank: 7Rank: 7

UID
403495
帖子
1101
PB币
85
贡献
0
技术
190
活跃
1298
29F
发表于 2014-10-15 22:52:23 IP属地河北 |只看该作者
支持楼主。继续发现新大陆

Rank: 7Rank: 7Rank: 7

UID
21441
帖子
2107
PB币
0
贡献
0
技术
0
活跃
2076
28F
发表于 2014-10-15 19:04:00 IP属地山东 |只看该作者

very good

Rank: 1

UID
1031357
帖子
12
PB币
108
贡献
0
技术
0
活跃
10
27F
发表于 2014-10-15 18:18:54 IP属地北京 |只看该作者
谢牛人!有没有办法把1像素的边框弄宽一点……太恶心了

Rank: 2Rank: 2

UID
209060
帖子
267
PB币
2206
贡献
0
技术
0
活跃
259
26F
发表于 2014-10-14 21:24:38 IP属地吉林 |只看该作者
果然强迫症是世界进步的原动力……

Rank: 9

UID
163133
帖子
1482
PB币
6523
贡献
0
技术
0
活跃
776

8周年庆典勋章

25F
发表于 2014-10-13 10:35:59 IP属地浙江 |只看该作者
牛人一个,强迫证已领!

远景有关部门[已退役]

Rank: 15Rank: 15Rank: 15

UID
648169
帖子
6045
PB币
15073
贡献
0
技术
76
活跃
4399

Win10先驱者 我是大学生!

24F
发表于 2014-10-11 21:34:53 IP属地未知 |只看该作者
楼主好技术

Rank: 2Rank: 2

UID
4568578
帖子
127
PB币
140
贡献
0
技术
0
活跃
90
23F
发表于 2014-10-11 21:34:25 IP属地安徽 |只看该作者
啊,没看懂, 难道 不是 资源管理器?

Rank: 7Rank: 7Rank: 7

UID
60921
帖子
1365
PB币
2672
贡献
0
技术
4
活跃
1820
22F
发表于 2014-10-11 21:24:19 IP属地浙江 |只看该作者
raymai97 发表于 2014-10-11 21:10
DLL也算额外文件吧
其实我想写个工具,把你分享的三个注册表项目弄成可以一键还原的(包括权限 ...

鼓励扩散。

山寨墨竹

Rank: 5Rank: 5Rank: 5

UID
1917808
帖子
691
PB币
6045
贡献
0
技术
48
活跃
164
21F
发表于 2014-10-11 21:14:27 IP属地福建 |只看该作者
果然有用!谢谢楼主!

小麦

Rank: 15Rank: 15Rank: 15

UID
1591929
帖子
16314
PB币
23411
贡献
0
技术
835
活跃
3411

数码达人 活动参与先锋 远景技术达人 原创先锋 8周年庆典勋章

20F
发表于 2014-10-11 21:10:27 IP属地马来西亚 |只看该作者
玄风残翼 发表于 2014-10-11 20:28
我也比较讨厌额外的文件,要不然就写个DLL,用RunDLL来调用了。

DLL也算额外文件吧
其实我想写个工具,把你分享的三个注册表项目弄成可以一键还原的(包括权限),可以吗

Rank: 7Rank: 7Rank: 7

UID
60921
帖子
1365
PB币
2672
贡献
0
技术
4
活跃
1820
19F
发表于 2014-10-11 20:28:07 IP属地浙江 |只看该作者
raymai97 发表于 2014-10-11 19:23
我找到了方法,新建一个VBS文件,代码如下:储存到一个地方,比如d:\openthispc.vbs,然后把“HKEY_CLASSES ...

我也比较讨厌额外的文件,要不然就写个DLL,用RunDLL来调用了。

小麦

Rank: 15Rank: 15Rank: 15

UID
1591929
帖子
16314
PB币
23411
贡献
0
技术
835
活跃
3411

数码达人 活动参与先锋 远景技术达人 原创先锋 8周年庆典勋章

18F
发表于 2014-10-11 19:23:56 IP属地马来西亚 |只看该作者
我找到了方法,新建一个VBS文件,代码如下:
  1. CreateObject("WScript.Shell").Run "cmd /c start shell:::{20d04fe0-3aea-1069-a2d8-08002b30309d}",0
复制代码
储存到一个地方,比如d:\openthispc.vbs,然后把“HKEY_CLASSES_ROOT\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}\shell\OpenNewWindow\command”的{default}设成:
  1. wscript D:\openthispc.vbs
复制代码
如果真的很讨厌额外文件,不介意cmd窗口一闪而过的话,可以不用新建VBS,直接把{default}设成:
  1. cmd /c start shell:::{20d04fe0-3aea-1069-a2d8-08002b30309d}
复制代码
1

查看全部评分

小麦

Rank: 15Rank: 15Rank: 15

UID
1591929
帖子
16314
PB币
23411
贡献
0
技术
835
活跃
3411

数码达人 活动参与先锋 远景技术达人 原创先锋 8周年庆典勋章

17F
发表于 2014-10-11 19:02:30 IP属地马来西亚 |只看该作者
真心佩服你…… 我会尽力帮楼主找找看explorer.exe进程残留的解决方法~

♛Hackintosh拾荒者♛

Rank: 7Rank: 7Rank: 7

UID
281520
帖子
2116
PB币
13832
贡献
0
技术
4
活跃
878

7周年庆典勋章

16F
发表于 2014-10-11 11:24:02 IP属地湖北 |只看该作者
感谢楼主分享研究心得,虽然感觉这个设计有点蛋疼,但是还是决定继续使用一下

Rank: 7Rank: 7Rank: 7

UID
1452413
帖子
1421
PB币
3427
贡献
0
技术
18
活跃
1637
15F
发表于 2014-10-11 09:23:44 IP属地云南 |只看该作者
果然有效,不错!

Rank: 9

UID
938
帖子
1928
PB币
2670
贡献
0
技术
0
活跃
130

我是大学生! I'm Windows Phone用户 7周年庆典勋章 8周年庆典勋章

14F
发表于 2014-10-11 09:10:59 IP属地江西 |只看该作者
我觉得没必要修改

Rank: 5Rank: 5Rank: 5

UID
465680
帖子
580
PB币
692
贡献
0
技术
0
活跃
521
13F
发表于 2014-10-11 08:44:43 IP属地四川 |只看该作者
楼主  我的好像是直接打开的桌面哦  不需要修改的  
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛