FIX:Windows 2000 或更新版本中 Comctl32.ocx 的存取違規

文章翻譯 文章翻譯
文章編號: 827217 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

可能會在下列狀況中收到存取違規錯誤訊息:
  • 您的電腦執行 Microsoft Windows 2000 或更新版本。
  • 您的電腦執行設定 WinEvent hook 的應用程式。
  • 您從 Microsoft Windows Common Controls 5.0 (Comctl32.ocx) ?動使用 ListView 控制項或 TreeView 控制項的應用程式。
您可能會收到類似下列的錯誤訊息:
Project1:Project1.exe - 應用程式錯誤

"0x202d0f51" 指令參考的 "0xC0000094" 記憶體。該記憶體不能為 "written"。請按 [確定] 終止程式

確定
一般來說,建立在 Microsoft Active Accessibility 上的協助工具應用程式 (如「朗讀程式」) 會設定 WinEvent hook。不過,在 Microsoft Windows XP Tablet PC Edition 作業系統執行的公用程式也會設定 WinEvent hook。

解決方案

目前 Microsoft 已提供支援的 Hotfix,但是其目的只是用於修正本文中所描述的問題。請只在發生此特定問題的系統上套用 Hotfix。

注意 您必須擁有 Visual Studio 授權合約,才能取得此 Hotfix。

如果要解決此問題,請與「Microsoft 技術支援處」連絡,以取得此 Hotfix。如需「Microsoft 技術支援處」的完整電話號碼清單,以及支援費用的相關資訊,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
注意在某些特殊情況下,如果 Microsoft 技術支援工程師認為某特定更新程式可以解決您的問題時,可能就不會收取一般因支援電話所產生的費用。一般來說,如果有其他支援問題是所描述的特定更新程式無法解決的,才會收取支援費用。

此 Hotfix 的英文版具有下列表格中所列的檔案屬性 (或更新檔案屬性)。這些檔案的日期和時間是以 Coordinated Universal Time (UTC) 表示。當您檢視檔案資訊時,它會轉換為當地時間。如果要查看 UTC 與當地時間的差異,請使用 [控制台] 中 [日期和時間] 工具的 [時區] 索引標籤。
摺疊此表格展開此表格
日期時間版本大小檔名
18-Aug-200320:256.0.81.61,344,512Comctl32.ocx

狀況說明

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有此錯誤。

其他相關資訊

重現問題的步驟

  1. 啟動新 Visual Basic 6.0 或 Visual Basic 5.0 [標準執行檔] 專案。
  2. [專案] 功能表上,按一下 [元件]
  3. [元件] 對話方塊中,新增 [Microsoft Windows Common Controls 5.0] (Comctl32.ocx) 的參照。
  4. 新增 [ListView] 控制項至 [Form1]。根據預設會建立 ListView1。
  5. 將下列程式碼新增至 [Form1]
    Private Sub Form_Load()
         ListView1.View = lvwReport
         ListView1.ColumnHeaders.Add , , "TestHeader"
         ListView1.ListItems.Add , , "Test"
    End Sub
  6. 按一下 [檔案] 功能表上的 [Make EXE]
  7. 啟動設定 WinEvent hook 的應用程式。「朗讀程式」就是其中一個。

    如果要啟動「朗讀程式」,按一下 [開始]、指向 [程式集]、指向 [附屬應用程式],再指向 [協助工具],然後按一下 [朗讀程式]
  8. 執行 Project1.exe。

?考

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
896559 FIX: The Windows Common Controls Mscomctl.ocx or Comctl32.ocx may cause your application or the Visual Basic 6 IDE to unexpectedly quit, or you may receive a "Divide By Zero" error message

屬性

文章編號: 827217 - 上次校閱: 2006年8月14日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
關鍵字:?
kberrmsg kbvbp500fix kbqfe kbfix KB827217
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com