Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows XP「Rundll32.exe 應用程式錯誤」成因與修復:DLL 呼叫器損壞怎麼辦?

編輯:XP 系統應用技巧

XP 系統彈出「Rundll32.exe 應用程式錯誤」,主因是 Rundll32.exe 程式損壞或被病毒利用。本文解析其原理、正確用法與修復方向。

Rundll32.exe 是什麼?

  • 功能:執行 32 位元 DLL 檔案內的匯出函數
  • 進程名固定為 Rundll32.exe,不顯示 DLL 名稱,常被惡意程式利用隱藏行蹤
  • 多個 Rundll32.exe 同時存在 = 載入多個 DLL,正常現象

函數原型與命令列語法

Void CALLBACK FunctionName(HWND hwnd, HINSTANCE hinst, LPTSTR lpCmdLine, int nCmdShow);
Rundll32.exe DLLname,Functionname [Arguments]
  • DLLname:目標 DLL 檔名(路徑含空格需用短檔名,如 C:\Progra~1\)
  • Functionname:DLL 匯出函數名稱
  • [Arguments]:傳遞給函數的參數

三大使用禁忌

  1. DLL 路徑**不可含空格**(需用 8.3 短檔名)
  2. DLL 名與函數名間的**逗號不可省略**
  3. **不可呼叫有傳回值的 DLL 函數**(如 GetUserName()、GetTextFace())

經典實驗:一行指令重開機

Rundll32.exe user.exe,ExitWindowsExec

或在 VB 中:Shell "Rundll32.exe user.exe,ExitWindowsExec"

Rundll32.exe 直接叫用控制台小程式

功能命令
螢幕保護程式設定Rundll32.exe desk.cpl,InstallScreenSaver
新增/移除程式Rundll32.exe appwiz.cpl,NewLinkHere
滑鼠屬性Rundll32.exe main.cpl @0
鍵盤屬性Rundll32.exe main.cpl @1
聲音與音訊裝置Rundll32.exe mmsys.cpl @0
系統屬性Rundll32.exe sysdm.cpl
Rundll32.exe 錯誤視窗
Rundll32.exe 參考圖
Rundll32.exe 使用禁忌
VB Shell 呼叫範例
控制台小程式呼叫表

修復建議

  1. 先執行完整防毒掃描(Rundll32 常被掛馬)
  2. 從同版本乾淨系統複製 C:\WINDOWS\system32\Rundll32.exe 覆蓋
  3. 執行 sfc /scannow 修復系統檔案
  4. 若無效,考慮修復安裝或重灌
「Rundll32 是 DLL 的代理人,出錯先查毒,再換檔,懂其語法更能識別異常行為。」
Copyright © Windows教程網 All Rights Reserved