- 积分
- 552
- 最后登录
- 2024-4-26
- 精华
- 0
- 阅读权限
- 40
- 主题
- 67
- UID
- 60921
- 帖子
- 1365
- PB币
- 2672
- 威望
- 1
- 贡献
- 0
- 技术
- 4
- 活跃
- 1819
- UID
- 60921
- 帖子
- 1365
- PB币
- 2672
- 贡献
- 0
- 技术
- 4
- 活跃
- 1819
|
本帖最后由 玄风残翼 于 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文版,中文版里应该是"(默认)"吧),把它的值修改成
- 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目录下,再用下面的方法修改,最终是改成
- rundll32 open_explorer.dll,OpenExplorer
复制代码 即可,这样每次按Win+E,都会运行一下这个DLL里的OpenExplorer函数,而这个函数的代码非常简单:
- VOID __stdcall OpenExplorer(
- HWND _hwnd,
- HINSTANCE _instance,
- WCHAR* _command,
- int _count
- )
- {
- ::ShellExecute(
- NULL,
- _T("open"),
- _T("::{20d04fe0-3aea-1069-a2d8-08002b30309d}"),
- _T(""),
- _T(""),
- SW_SHOWNORMAL);
- }
复制代码 没办法,谁叫我有强迫症呢。
==============
搜索图标和多任务图标的处理方式在这里:
https://bbs.pcbeta.com/viewthread-1549186-1-1.html
|
-
4
查看全部评分
-
|