当前位置: 首页 > 图文教程 > 操作系统 > Windows > 系统自带利器Rundll.exe高级应用

Windows
Vista SP2更新和安装常见问题解答
在Vista、Windows7下玩英雄无敌3绿色版
在Vista、Win7下联网玩QQ对战平台、浩方、帝国时代2
当商用计算机遇到必须重新启动才能生效的更新
windows 7 运行命令
Vista/Win 7安装程序冲突问题的解决方法
Vista 修改注册表全面禁用控制面板
桌面 开始菜单丢失的解决方法
WinXP 安全设置 操作系统的技巧
Win7 虚拟内存 正确设置方法
注册表文件的默认打开方式修改方法
Windows7 再提速 winsxs文件夹优化
在Windows7上配置管理IIS日志记录
格式化与快速格式化有什么区别分析(快速格式化好)
教你全方面消除Win2003的安全隐患
细说Win2000的系统安全防范对策
Windows Server 2008 企业版 激活方法
Win2008系统和XP系统共同使用相同的缓存
Vista SP2搜索效率2则提升技巧
System Idle Process 认识与分析

Windows 中的 系统自带利器Rundll.exe高级应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 74 ::
收藏到网摘: n/a

  首先,请你做个小实验(请事先保存好你正在执行的程式的结果)∶

  点击“开始-程式-Ms-Dos方式”,进入Dos视窗,然後键入“rundll32.exe user.exe,restartwindows”,再按下回车键,这时你将看到,机器被重启了!

  当然,Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,执行Dll也,它的功能就是以命令列的方式呼叫Windows的动态链结库,Rundll32.exe与Rundll.exe的区别就在于前者是呼叫32位的链结库,而后者是运用于16位的链结库,它们的命令格式是∶

  RUNDLL.EXE ,,

  这里要注意三点∶

  1.Dll档案名中不能含有空格,比如该档案位於c:\Program Files目录,你要把这个路径改成c:\Progra~1;

  2.Dll档案名与Dll入口点间的逗号不能少,否则程式将出错并且不会给出任何资讯!

  3.这是最重要的一点∶Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的GetUserName(), GetTextFace()等。

  在Visual Basic中,提供了一条执行外部程式的指令Shell,格式为∶

  Shell “命令列”

  如果能配合Rundll32.exe用好Shell指令,会使您的VB程式拥有用其他方法难以甚至无法实现的效果∶仍以重启为例,传统的方法需要你在VB工程中先建立一个模组,然後写入WinAPI的声明,最後才能在程式中呼叫。而现在只需一句:

  Shell “rundll32.exe user.exe,restartwindows”就搞定了!

  实际上,Rundll32.exe在呼叫各种Windows控制面板和系统选项方面有著独特的优势。

  命令列: rundll32.exe shell32.dll,Control_RunDLL

  功能: 显示控制面板

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1

  功能: 显示“控制面板-辅助选项-键盘”选项视窗

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2

  功能: 显示“控制面板-辅助选项-声音”选项视窗