常用Windows9x的朋友一定對Rundll32.exe和Rundll.exe這兩個文件不會陌生吧,不過,由于這兩個程序的功能原先只限于在微軟內(nèi)部使用,因而真正知道如何使用它們的朋友想必不多。那么好,如果你還不清楚的話,那么就讓我來告訴你吧。
首先,請你做個小實驗(請事先保存好你正在運行的程序的結果,否則...):點擊“開始-程序-Ms-Dos方式”,進入Dos窗口,然后鍵入"rundll32.exe user.exe,restartWindows",再按下回車鍵,這時你將看到,機器被重啟了!怎么樣,是不是很有趣?
當然,Rundll的功能絕不僅僅是重啟你的機器。其實,Rundll者,顧名思義,運行Dll也,它的功能就是以命令行的方式調(diào)用Windows的動態(tài)鏈接庫,Rundll32.exe與Rundll.exe的區(qū)別就在于前者是調(diào)用32位的鏈接庫,而后者是運用于16位的鏈接庫,它們的命令格式是:
RUNDLL.EXE ,<入口點>,<調(diào)用參數(shù)>
這里要注意三點:1.Dll文件名中不能含有空格,比如該文件位于c:\Program Files\目錄,你要把這個路徑改成c:\Progra~1\;2.Dll文件名與Dll入口點間的逗號不能少,否則程序將出錯并且不會給出任何信息!3.這是最重要的一點:Rundll不能用來調(diào)用含返回值參數(shù)的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一條執(zhí)行外部程序的指令Shell,格式為:
Shell “命令行”
如果能配合Rundll32.exe用好Shell指令,會使您的VB程序擁有用其他方法難以甚至無法實現(xiàn)的效果:仍以重啟為例,傳統(tǒng)的方法需要你在VB工程中先建立一個模塊,然后寫入WinAPI的聲明,最后才能在程序中調(diào)用。而現(xiàn)在只需一句:
Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?
實際上,Rundll32.exe在調(diào)用各種Windows控制面板和系統(tǒng)選項方面有著獨特的優(yōu)勢。下面,我就將本人在因特網(wǎng)上收集的有關Rundll的指令列舉如下(很有用的,能省去你很多調(diào)用Windows API的時間?。。┐蠹以诰幊讨幸茫?BR> 命令行: rundll32.exe shell32.dll,Control_RunDLL
功能: 顯示控制面板
命令行: rundll32.exe shell32.dll,Control_RunDLL Access.cpl,,1
功能: 顯示“控制面板-輔助選項-鍵盤”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
功能: 顯示“控制面板-輔助選項-聲音”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
功能: 顯示“控制面板-輔助選項-顯示”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
功能: 顯示“控制面板-輔助選項-鼠標”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
功能: 顯示“控制面板-輔助選項-常規(guī)”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
功能: 運行“控制面板-添加新硬件”向導。
命令行: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
功能: 運行“控制面板-添加新打印機”向導。
首先,請你做個小實驗(請事先保存好你正在運行的程序的結果,否則...):點擊“開始-程序-Ms-Dos方式”,進入Dos窗口,然后鍵入"rundll32.exe user.exe,restartWindows",再按下回車鍵,這時你將看到,機器被重啟了!怎么樣,是不是很有趣?
當然,Rundll的功能絕不僅僅是重啟你的機器。其實,Rundll者,顧名思義,運行Dll也,它的功能就是以命令行的方式調(diào)用Windows的動態(tài)鏈接庫,Rundll32.exe與Rundll.exe的區(qū)別就在于前者是調(diào)用32位的鏈接庫,而后者是運用于16位的鏈接庫,它們的命令格式是:
RUNDLL.EXE ,<入口點>,<調(diào)用參數(shù)>
這里要注意三點:1.Dll文件名中不能含有空格,比如該文件位于c:\Program Files\目錄,你要把這個路徑改成c:\Progra~1\;2.Dll文件名與Dll入口點間的逗號不能少,否則程序將出錯并且不會給出任何信息!3.這是最重要的一點:Rundll不能用來調(diào)用含返回值參數(shù)的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一條執(zhí)行外部程序的指令Shell,格式為:
Shell “命令行”
如果能配合Rundll32.exe用好Shell指令,會使您的VB程序擁有用其他方法難以甚至無法實現(xiàn)的效果:仍以重啟為例,傳統(tǒng)的方法需要你在VB工程中先建立一個模塊,然后寫入WinAPI的聲明,最后才能在程序中調(diào)用。而現(xiàn)在只需一句:
Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?
實際上,Rundll32.exe在調(diào)用各種Windows控制面板和系統(tǒng)選項方面有著獨特的優(yōu)勢。下面,我就將本人在因特網(wǎng)上收集的有關Rundll的指令列舉如下(很有用的,能省去你很多調(diào)用Windows API的時間?。。┐蠹以诰幊讨幸茫?BR> 命令行: rundll32.exe shell32.dll,Control_RunDLL
功能: 顯示控制面板
命令行: rundll32.exe shell32.dll,Control_RunDLL Access.cpl,,1
功能: 顯示“控制面板-輔助選項-鍵盤”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
功能: 顯示“控制面板-輔助選項-聲音”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
功能: 顯示“控制面板-輔助選項-顯示”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
功能: 顯示“控制面板-輔助選項-鼠標”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
功能: 顯示“控制面板-輔助選項-常規(guī)”選項窗口
命令行: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
功能: 運行“控制面板-添加新硬件”向導。
命令行: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
功能: 運行“控制面板-添加新打印機”向導。

