在 Windows 系统的底层,rundll32.exe 充当 DLL 动态链接库的入口点,能够直接调用 shell32.dll 中预定义的函数。把这把钥匙插进「我的电脑」的锁孔,系统便会弹出资源管理器的根目录,等同于在桌面上双击「此电脑」图标。
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
上述命令的每一段都有明确含义:shell32.dll 提供 UI 组件,Control_RunDLL 负责加载控制面板小程序,desk.cpl 是「显示」设置的入口,末尾的 0 代表默认参数。把 desk.cpl 替换成 explorer.exe 或者直接使用 shell32.dll,ShellExec_RunDLL,即可实现「打开我的电脑」的更直接路径。
一名系统管理员在处理服务器磁盘异常时,常常需要在最短时间内打开磁盘列表。她把以下批处理文件保存为 open_thispc.bat:
@echo off
rundll32.exe shell32.dll,ShellExec_RunDLL ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
双击该批处理,资源管理器立刻跳转至「此电脑」根节点,省去手动点击的数秒延迟。统计数据显示,批量执行 200 次时,整体操作时间比人工点击缩短约 30%。
虽然 rundll32.exe 本身是系统组件,但误用或加载未经验证的 DLL 可能导致权限提升或系统崩溃。最佳实践是:
C:WindowsSystem32)下执行。::{20D04FE0-3AEA-1069-A2D8-08002B30309D})避免硬编码文件名。rundll32 调用。如果仅是日常快捷访问,「Win+E」快捷键或在任务栏固定「此电脑」图标,同样高效且无需担心安全风险。
参与讨论
rundll32还能干这个?学到了(不是)
这命令真挺冷门的,之前完全不知道还能这么用
::后面那串是啥啊,有文档吗?
前几天刚搞完系统优化,这种小技巧还挺实用的👍
话说用CLSID是不是比路径更稳定?我们这边老出兼容问题
我试了下批处理,确实快那么一丢丢,但有必要吗hhh
管理员才需要这种操作吧,普通人Win+E不就行了
shell32.dll居然藏了这么多功能,感觉挖到宝了
这个desk.cpl的参数0是固定写法吗?求解释
之前误删了dll文件,直接蓝屏了,现在看到rundll32就心慌
命令执行快是快,但记这一长串ID也太反人类了吧
企业禁用rundll32挺合理,毕竟安全第一