当前位置: 首页 > 图文教程 > 操作系统 > Windows > Rundll.exe的多功能

Windows
开机系统提示boot.ini非法是什么原因?
Windows 7升级不再免费了
想玩魔兽 win7玩不了怎么办?
XP系统注册表的技巧
去掉Windows7操作系统的多余启动菜单
安装完win7后先修改浏览器模式
虚拟硬盘新功能简介
Outlook 2010对HTML的渲染不存在问题
企业进一步推动微软正版软件的发行
虚拟化应用不断演进
如何设置Windows7操作系统的虚拟内存
Windows Themes显示不正确的问题
以破坏方式分析.exe病毒
win7的特色功能知多少
Windows 2003粉墨登场,IIS如何设置
win7系统在进行虚拟化时的注意事项
Windows7操作系统无法玩魔兽3的问题
Windows7操作系统的娱乐平台的攒机配置
Windows 7中的粘滞键功能如何取消?
各版本Windows升级全攻略

Windows 中的 Rundll.exe的多功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 90 ::
收藏到网摘: 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

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