在Windows系统中,DLL(动态链接库)文件通常不能像EXE那样直接双击运行。但通过命令提示符(CMD),我们可以借助 rundll32.exe 工具来调用DLL中的特定函数。
什么是 rundll32?
rundll32.exe 是Windows自带的一个可执行程序,用于加载并运行DLL文件中导出的函数。它常用于系统维护、控制面板项调用等场景。
基本语法
rundll32 <dllname>,<entrypoint> [参数]
- <dllname>:DLL文件路径(可带绝对或相对路径)
- <entrypoint>:DLL中要调用的函数名
- [参数]:传递给该函数的参数(可选)
常见示例
1. 打开“添加打印机”窗口
rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
2. 锁定计算机
rundll32.exe user32.dll,LockWorkStation
3. 清空回收站
rundll32.exe shell32.dll,SHEmptyRecycleBin
注意事项
- 并非所有DLL都支持通过
rundll32调用,只有导出了符合约定格式函数的DLL才可使用。 - 错误调用可能导致系统不稳定或崩溃,请谨慎操作。
- 自定义DLL需按特定函数签名编写入口点(如
void CALLBACK Function(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow))。
安全提示
不要随意执行来源不明的DLL调用命令,以免触发恶意代码。建议在测试环境中先行验证。