《Windows巧用RUNDLL32命令》补遗

IT商界

  今年第23期B8版的《Windows巧用RUNDLL32命令》详细地向大家介绍了RUNDLL32命令的用法,但我觉得还有很重要的几点需要补充。

  命令格式:RUNDLL32.EXE 动态链接库名,函数名,参数名

  这里要注意四点:

  1.DLL名称中不能含有空格,比如该DLL位于“C:\Program Files\”目录,你要把这个路径改成“C:\Progra~1\”。

  2.DLL名称与函数名之间的逗号不能少,否则程序将出错并且不会给出任何信息!

  3.最重要的一点是RUNDLL32不能用来呼叫有返回值的DLL,例如Win32API中的GetUserName(),GetTextFace()等。

  4.一定要注意函数名的大小写(动态链接库名除外)。这点也很重要,函数名的大小写一个字符也不能错,否则会出现“丢失项目:xxxxxx”的错误。如显示控制面板命令:rundll32.exe shell32.dll,Control_RunDLL。函数名是“Control_RunDLL”,这里面如果有一个字符的大小写不对都会出现错误,如“contrul_RunDLL”,“Control_runDLL”等,而链接库名shell32.dll的大小写无关紧要。

  另外,Visual Basic、Delphi、Visual C++等程序设计语言如果通过呼叫外部命令的方法来使用Rundll32的功能,一定会使你的程序设计轻轻松松达到事半功倍的效果!如:命令“rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3”可以显示“控制面板-添加/删除程式-启动盘”面板;命令“rundll32.exe shell32.dll,SHFORMatDrive”可以显示格式化软碟对话框;而命令“rundll32.exe user.exe,restartwindows”则可以强行关闭所有程式并重启机器。