文章編號: 142676 - 上次校閱: 2008年3月11日 - 版次: 4.3

如何修正常見 User32.dll 檔案錯誤

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

沒有安裝任何 Service Pack 的 Windows Vista 支援結束 2010 4 月 13 上。若要繼續接收安全性更新的 Windows,請確定您使用 Service Pack 2 (SP2) 執行 Windows Vista。 如需詳細資訊請參閱此 Microsoft Web 網頁: Support is ending for some versions of Windows (http://windows.microsoft.com/en-us/windows/help/end-support-windows-xp-sp2-windows-vista-without-service-packs)

在此頁中

全部展開 | 全部摺疊

簡介

當想您的電腦上使用程式會收到包含 User32.dll 檔案中其描述的錯誤。原因可能會發生這個問題。這份文件包含一般的逐步方法,可以用來嘗試解決這個問題。本文中的逐步程序將不會非常多的時間來完成。

此內容是為初級電腦使用者而設計的。

什麼是 User32.dll 檔案?

Windows 會將之圖形化元素 (如對話方塊和視窗指示存放 User32.dll 檔案中。User32.dll 檔案是 Windows 的必要作業的。如果這個檔案已損毀、 刪除,或移除,系統將無法再正常運作。如果程式或服務無法正確存取 User32.dll,程式或服務將無法正常運作。

正在修復 User32.dll 檔案,或重新安裝程式、 硬體的元件或驅動程式造成這項錯誤,通常修正 User32.dll 錯誤。如果這些程序不做更正 User32.dll 錯誤,您可以將電腦還原至條件之前利用 「 Windows 系統還原 」 功能出現了錯誤。

附註如果您不能啟動 Windows,因為 User32.dll 發生錯誤,請參閱 "Start your computer in safe mode and use System Restore" 一節。

徵狀

錯誤訊息是 User32.dll 問題的最常見的徵兆。User32.dll 錯誤訊息說明錯誤的來源,並指出 User32.dll 檔案參與錯誤。

以下是 User32.dll 錯誤訊息的範例:
program不合法的系統 DLL 的重新配置

在這個範例 program 參照造成 User32.dll 錯誤訊息的程式名稱。

本文將告訴您 User32.dll 錯誤訊息的一些常見的原因。此外,這份文件包含了一些常見的解析方法。以第一個的解析方法為開頭,並且如果您遇到的問題仍然存在,請到下一個方法。

方法 1: 使用 Windows Update,以取得與 User32.dll 相關的任何修正程式

您所遇到的 User32.dll 問題可能會解決由 Windows 產品更新。若要開啟 [Windows Update 請依照下列步驟執行:
  1. 按一下 [開始],然後按一下 [執行]。
  2. 複製和貼上 (或型別) 下列命令在 [執行] 方塊,然後按下 ENTER:

    wupdmgr
我們建議您執行 Windows 更新後,更新您的防毒軟體。如 Microsoft 支援的防毒軟體的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
49500? (http://support.microsoft.com/kb/49500/ ) 防毒軟體廠商的清單

Microsoft Windows Update 網站

您也可以藉由使用 Windows Update 網站上更新 Windows。如果要執行此動作請造訪 「 下列 Microsoft Windows Update 網站:
http://windowsupdate.microsoft.com (http://windowsupdate.microsoft.com)
附註您也可以接收更新 Windows,Microsoft Office 和 Microsoft 更新中的其他 Microsoft 應用程式。Microsoft 更新所有功能和優點的 Windows Update 都帶您加上下載包含 Office 其他 Microsoft 應用程式。若要用以 Microsoft 更新請造訪下列 Microsoft 網站]:
http://update.microsoft.com/microsoftupdate (http://update.microsoft.com/microsoftupdate)

開啟 [自動更新

若要將 Windows 安裝重要更新為它們,就可以使用開啟自動更新。如果要開啟 [Windows 中的自動更新,請依照下列步驟執行:
  • 在 Windows Vista 中:
    1. 按一下 [開始],按一下 [所有程式],然後再按一下 [Windows 更新
    2. 在瀏覽] 窗格中按一下 [變更設定]。
    3. 選取您想要的選項。
    4. 在 [建議的更新,按一下以選取 下載、 安裝,或通知我有關更新時包括建議的更新] 核取方塊,然後再按一下 [確定]。 如果出現要求您輸入系統管理員密碼或確認的提示,輸入該密碼或提供確認。
  • 如更多有關如何排程 「 自動更新 Windows Server 2003 中、 在 Windows XP 中並在 Windows 2000 會按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
    327838? (http://support.microsoft.com/kb/327838/ ) 如何排程 「 自動更新 Windows Server 2003 中、 在 Windows XP 中並在 Windows 2000 中

如果這個方法有效

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,但沒有出現錯誤訊息,您就完成!

如果這個方法沒有用

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,而錯誤訊息仍顯示移至下一個方法。

方法 2: 重新安裝程式、 硬體和造成 User32.dll 錯誤的驅動程式

如果期間出現 User32.dll 錯誤訊息,或在安裝程式、 硬體元件或驅動程式之後,解除安裝程式、 硬體的元件或驅動程式。然後重新啟動 Windows,並重新安裝程式、 硬體的元件或驅動程式。
  • 在 Windows Vista: 如需有關如何重新安裝程式、 硬體或驅動程式在 Windows Vista 中的資訊,按一下 [開始],按一下 [說明及支援,然後再按一下 [疑難排解。您也可以搜尋解除安裝中或變更一個程式的 「 安裝程式,」 或安裝新硬體。
  • 在 Windows XP: 如需有關如何修復程式、 硬體或在 Windows XP 中的驅動程式資訊,按一下 [開始],按一下 [說明及支援,然後再按一下 [修正問題]。您也可以搜尋"新增程式 」 或為 「 使用新增硬體 」。
如需有關如何修正與程式、 硬體,及驅動程式問題的詳細資訊,請造訪下列 Microsoft 網站:
Windows Vista 方案中心
http://support.microsoft.com/ph/11732/en-us/ (http://support.microsoft.com/ph/11732/en-us/)
Windows XP 方案中心
http://support.microsoft.com/ph/1173/en-us/ (http://support.microsoft.com/ph/1173/en-us/)
Windows Server 2003 方案中心
http://support.microsoft.com/ph/3198 (http://support.microsoft.com/ph/3198)
Windows 2000 方案中心
http://support.microsoft.com/ph/1131 (http://support.microsoft.com/ph/1131)

手動更新驅動程式

最好讓 Windows 自動安裝您的硬體的驅動程式。您應該避免手動更新驅動程式,除非 Windows 無法找到其中一個您的裝置驅動程式,而且您所能夠取得驅動程式的其他方法。或者您可能必須手動更新驅動程式,如果技術支援人員要求您從光碟或裝置製造商的網站安裝驅動程式。如果決定手動更新驅動程式請依照下列步驟執行:
  1. 按一下 [開始], 然後按一下 [執行]。
  2. 複製和貼上 (或輸入) 下列命令在 [執行] 方塊和按下 ENTER:

    devmgmt.msc
  3. 如果出現要求您輸入系統管理員密碼或確認的提示,輸入該密碼或提供確認。
  4. 在 「 裝置管理員 」 中找出您想要更新的裝置,然後再連按兩下裝置名稱。
  5. 按一下 [驅動程式] 索引標籤上,按一下 [更新驅動程式,然後遵循指示進行。

判斷哪些程式正在使用 User32.dll

如果您不確定您電腦上的哪一個程式正在使用 User32.dll,使用 Tasklist 命令列工具來判斷目前正在使用 User32.dll 的程式。Tasklist 命令列工具會顯示目前使用 User32.dll 的所有程式的名稱。若要用以 Tasklist 請依照下列步驟執行:
  1. 按一下 [開始],然後按一下 [執行]。
  2. 複製和貼上 (或型別) 下列命令在 [執行] 方塊,然後按下 ENTER:
    cmd
  3. 輸入下列命令,然後按下 ENTER: tasklist/m User32.dll
以下是輸出的從 Tasklist 工具範例:
摺疊此表格展開此表格
影像名稱PID模組
explorer.exe2532USER32.dll
OUTLOOK.EXE3128USER32.dll
iexplore.exe3232USER32.dll
tasklist.exe3012USER32.dll
決定建立 User32.dll 的錯誤的程式,並重新安裝該程式。

如果這個方法有效

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,但沒有出現錯誤訊息,您就完成!

如果這個方法沒有用

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,而錯誤訊息仍顯示移至下一個方法。

方法 3: 使用系統還原 」

您可以使用 Windows 系統還原 」 功能,Windows Vista 和 Windows XP 還原到之前收到 User32.dll 錯誤一次。如需有關如何在 Windows Vista 中使用 [系統還原的資訊,請造訪下列 Microsoft 網站 (英文):
http://windowshelp.microsoft.com/Windows/en-US/Help/9f6d755a-74bb-4a7d-a625-d762dd8e79e51033.mspx (http://windowshelp.microsoft.com/Windows/en-US/Help/9f6d755a-74bb-4a7d-a625-d762dd8e79e51033.mspx)
如更多有關如何使用系統還原的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
936212? (http://support.microsoft.com/kb/936212/ ) 如何修復操作系統,以及如何還原到較早的點的作業系統設定的 Windows Vista 中的時間
927525? (http://support.microsoft.com/kb/927525/ ) 安裝裝置或裝置的驅動程式更新後,Windows Vista 可能無法啟動
306084? (http://support.microsoft.com/kb/306084/ ) 如何還原先前的狀態,在 Windows XP 作業系統
重要我們建議您執行 Windows Update 之後執行系統還原。如需詳細資訊請參考 「 方法 1 」。我們也建議您執行 Windows 更新之後,更新防毒軟體。如 Microsoft 支援的防毒軟體的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
49500? (http://support.microsoft.com/kb/49500/ ) 防毒軟體廠商的清單

在安全模式中啟動電腦並使用 「 系統還原

如果您無法啟動 「 系統還原 」 時,即可使用 Windows 安全模式啟動 「 系統還原 」。如需有關如何以安全模式啟動 Windows Vista,以及如何使用 「 系統還原 」 的資訊,請造訪下列 Microsoft 網站 (英文):
http://windowshelp.microsoft.com/Windows/en-US/Help/6b969e00-d4ec-4d3a-bffe-b96107e3bda91033.mspx (http://windowshelp.microsoft.com/Windows/en-US/Help/6b969e00-d4ec-4d3a-bffe-b96107e3bda91033.mspx)
如需有關如何以安全模式啟動 Windows XP,以及如何使用 「 系統還原 」 的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
304449? (http://support.microsoft.com/kb/304449/ ) 如何在 Windows XP 中啟動 「 系統還原 」 工具在命令提示字元
備份或還原精靈 」 在 Windows Server 2003 和中使用 Windows 2000 將電腦還原到接收 User32.dll 錯誤之前的時間。如更多有關如何還原 Windows Server 2003 與 Windows 2000 的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
325375? (http://support.microsoft.com/kb/325375/ ) 如何疑難排解 Windows Server 2003 中的啟動問題
315396? (http://support.microsoft.com/kb/315396/ ) 如何疑難排解 Windows 2000 中的啟動問題
重要我們建議您執行 Windows Update 之後執行系統還原。如需詳細資訊請參考 「 方法 1 」。我們也建議您執行 Windows 更新之後,更新防毒軟體。如 Microsoft 所支援的防毒軟體的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
49500? (http://support.microsoft.com/kb/49500/ ) 防毒軟體廠商的清單

如果這個方法有效

如果您嘗試執行導致 [User32.dll 的工作,但沒有出現錯誤訊息,您就完成!

如果這個方法沒有用

如果您嘗試執行導致 User32.dll 錯誤訊息的工作錯誤訊息持續出現不幸的是此內容將無法任何進一步幫助您。所以,您下一步就是請參閱本文中的 < 進階疑難排解 > 一節。如果您必須使用進階疑難排解,且您並不是進階的使用者您可能想要尋求他人的協助,或者您可能要與支援部門連絡:
http://support.microsoft.com (http://support.microsoft.com/)

進階的疑難排解

方法 1: 使用修復主控台 」,以還原 User32.dll 檔案

某些 User32.dll 錯誤可以藉由從您的 Windows CD 還原 User32.dll 原始檔案來修復。還原 User32.dll 檔案會在您的電腦上的 User32.dll 複本取代利用 Windows 光碟上的原始複本 User32.dll 所包含。

如果您執行下列 Windows 作業系統,您可以使用這個方法:
  • Windows XP
  • Windows Server 2003
  • Windows 2000
如更多有關如何還原檔案,Windows Vista 中的,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
936212? (http://support.microsoft.com/kb/936212/ ) 如何修復操作系統,以及如何還原到較早的點的作業系統設定的 Windows Vista 中的時間
附註您可能會更簡單的方法就是如果您先列印這份文件,請依照這些步驟。

在執行此程序之前您應該要有 Windows 安裝光碟。
  1. Windows XP CD 插入您的電腦,然後重新啟動電腦。
  2. 如果詢問您是否要從 CD 光碟機啟動電腦時,,按一下 [是]
  3. 「 歡迎使用安裝程式 」 畫面時按下 R 以啟動 「 修復主控台]。
  4. 要求您輸入系統管理員密碼時, 輸入系統管理員密碼。如果系統管理員密碼是空白的只需按 ENTER 鍵。
  5. 在命令提示字元下輸入下列命令:
    cd %systemroot%\system32
  6. 第一次,重新命名已損毀或已損毀的檔案,使複製原始檔時,則不會刪除它。要執行此動作輸入下列命令:
    ren USER32.DLL USER32.BAK
  7. 到您的電腦,接下來,從 Windows 光碟還原 User32.dll 原始檔案。要執行此動作輸入下列命令:
    展開 [CD drive letter]: \i386\USER32.DLL %systemroot%\system32/Y
    附註這個命令中 [CD drive letter] 取代您光碟機例如 D 的代號。
  8. 若要結束 「 修復主控台和,重新啟動電腦,鍵入 結束 在命令提示字元下然後按 ENTER 鍵。
重要我們建議您執行 Windows Update 之後使用修復主控台來還原檔案。如需詳細資訊請參閱"方法 1: 使用 Windows Update,以取得與 User32.dll 相關的任何修正程式 」 一節。我們也建議您執行 Windows 更新之後,更新防毒軟體。如 Microsoft 支援的防毒軟體的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
49500? (http://support.microsoft.com/kb/49500/ ) 防毒軟體廠商的清單
如更多有關 「 修復主控台的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
314058? (http://support.microsoft.com/kb/314058/ ) Windows XP 修復主控台的描述
326215? (http://support.microsoft.com/kb/326215/ ) 如何使用修復主控台不會啟動的 Windows Server 2003 電腦上
229716? (http://support.microsoft.com/kb/229716/ ) Windows 2000 修復主控台的描述

如果這個方法有效

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,但沒有出現錯誤訊息,您就完成!

如果這個方法沒有用

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,而錯誤訊息仍顯示移至下一個方法。

方法 2: 使用 「 系統檔案檢查程式 」 工具來修復 User32.dll

系統檔案檢查程式 」 可讓您掃描所有受保護的檔案,以檢查其版本。如果系統檔案檢查員 」 發現受保護的檔案已被覆寫,它擷取檔案的正確版本,從快取資料夾 (%Systemroot%\System32\Dllcache) 或從 Windows 安裝原始檔,並再取代不正確的檔案。您必須登,以系統管理員身分或執行系統檔案檢查員 」 系統管理員群組的成員身份。如更多有關如何使用 「 系統檔案檢查程式 」 工具的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
310747? (http://support.microsoft.com/kb/310747/ ) Windows XP 和 Windows Server 2003 系統檔案檢查程式 (Sfc.exe) 的描述
936212? (http://support.microsoft.com/kb/936212/ ) 如何修復操作系統,以及如何還原到較早的點的作業系統設定的 Windows Vista 中的時間

如果這個方法有效

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,但沒有出現錯誤訊息,您就完成!

如果這個方法沒有用

如果您嘗試執行導致 User32.dll 錯誤訊息的工作,而且仍然出現錯誤訊息,您可能想要與支援部門連絡:
http://support.microsoft.com (http://support.microsoft.com/)

其他相關資訊

當程式或服務嘗試使用一個損毀、 以一個遺漏,或損毀的 User32.dll 時,您會收到錯誤訊息。在某些情況下因為一個程式或服務正在嘗試不當使用 「 User32.dll,便會產生錯誤訊息。

如任何 User32.dll 時發生錯誤錯誤訊息表示特定問題的原因,然後錯誤訊息可協助您判斷如何修正問題。通常是,User32.dll 錯誤會由一或多個下列原因造成:
  • [User32.dll 檔案損毀、 重新命名或移除: [User32.dll 檔案可能損毀系統或軟體更新期間。損毀的 User32.dll 檔案可能遺失常式所需的您安裝的程式。當程式嘗試呼叫這些常式時, 就會發生錯誤。使用者可能會意外地重新命名或移除 User32.dll 檔案。
  • 程式檔案已損毀或遺失: 如果在 User32.dll 中呼叫常式的程式已經損毀或遺失的檔案,程式都可讓 User32.dll 常式的無效呼叫。無效呼叫中 User32.dll 常式導致 User32.dll 錯誤。
  • 函式中 User32.dll 不存在的軟體呼叫: 如果軟體程式會呼叫 User32.dll 中並不存在的函式,就會發生錯誤訊息。如果錯誤的版本的 Windows 上執行的軟體,就會發生這個問題。
  • Windows 更新 User32.dll 必要時,它並不允許程式: 設定的防毒程式可能會使升級您的電腦上任何檔案。
  • 發生記憶體配置問題: Windows 針對 User32.dll 保留記憶體空間。如果不同的檔案佔用的記憶體空間保留給 User32.dll,User32.dll 是重新定位在記憶體中。Windows 會考慮此重新配置重新為 「 不合法系統 DLL 配置,」,這會導致錯誤。軟體或檔案安裝在這類的檔案佔用的記憶體空間保留給 User32.dll 的訂單時,通常會發生這些記憶體問題。
  • 發生驅動程式問題: 遺漏或損毀的驅動程式或不相容的驅動程式版本可能會導致呼叫 User32.dll 中是無效的常式。無效呼叫中 User32.dll 常式導致 User32.dll 錯誤訊息。
  • Windows 登錄已損毀: 有損毀的 Windows 登錄,可能會導致損毀的 User32.dll 檔案。
  • 病毒感染 User32.dll: User32.dll 是 Windows,非常重要的檔案,且存在數都試著感染它有些病毒。

?考

Windows NT 4.0 資源套件補充 4 包含相依性 Walker 工具。相依性 Walker 顯示的模組而定 User32.dll 如 [Windows] 模組。如需有關依存性 Walker 的詳細資訊,請造訪 Microsoft 網站]:
http://technet2.microsoft.com/WindowsServer/en/library/4e43ba6c-e297-422c-9873-9538cab18ee61033.mspx?mfr=true (http://technet2.microsoft.com/WindowsServer/en/library/4e43ba6c-e297-422c-9873-9538cab18ee61033.mspx?mfr=true)
315241? (http://support.microsoft.com/kb/315241/ ) 一個停駐點: 0xc000026C 或停止: 0xc0000221 「 無法載入裝置驅動程式 」 啟動 Windows XP 時,就會發生錯誤
935448? (http://support.microsoft.com/kb/935448/ ) 某些程式可能無法啟動,而您收到錯誤訊息執行 Windows XP Service Pack 2 的電腦上:"不合法系統 DLL 重新配置"
184802? (http://support.microsoft.com/kb/184802/ ) User32.dll 或 Kernel32.dll 初始化失敗
931362? (http://support.microsoft.com/kb/931362/ ) 如果要疑難排解未如預期之後安裝在 Windows Vista 上執行的程式的進階的方法

這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Windows Vista 商用進階版
  • Windows Vista 家用進階版
  • Windows Vista 家用入門版
  • Windows Vista 旗艦版
  • Windows Vista Starter
關鍵字:?
kbmt kbexpertiseadvanced kbfix kbresolve kbenv KB142676 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:142676? (http://support.microsoft.com/kb/142676/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。