Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows

แก้ "Function address caused a protection fault" Error พิมพ์จาก Office ใน Windows 11/10

พยายามพิมพ์ไฟล์/เอกสารจาก Microsoft Office (Word, Excel, Publisher ฯลฯ) เจอ Error Printing: Function address caused a protection fault บทความนี้ระบุสาเหตุและวิธีแก้

เมื่อ Print Job Fail จะเจอ Error Instance:

Function address 12345 caused a protection fault.
(exception code 12345)
The application property sheet page(s) may not function properly.

แก้  Function address caused a protection fault  Error พิมพ์จาก Office ใน Windows 11/10

User หลายคนรายงาน: Error ไม่เกิดหาก Print แบบปกติ เกิดเฉพาะ Print จาก Office App Error Codes ต่างกันแต่ Root Cause เหมือนกัน Fix เดียวกันใช้ได้ทุก Instance

สาเหตุที่เป็นไปได้:

  • Printer ที่ถูกต้องไม่ได้ Set เป็น Default
  • Printer Driver เก่า
  • Printer Subkeys เสียหาย (Corrupt)
  • System File Corruption (น้อยกว่า) - มักหลัง Security Scan Quarantine Items ที่ Printing Service ใช้

แก้ Function address caused a protection fault

ลอง Solutions ต่อไปตามลำดับไม่จำเป็น:

  1. Run Printer Troubleshooter
  2. Run SFC/DISM Scan
  3. เปลี่ยน Default Printer
  4. Update Printer Driver
  5. Uninstall Printer Driver, Rename Printing Subkeys, Restart Print Spooler
  6. เปลี่ยน LegacyDefaultPrinterMode Registry Key Value Data
  7. Perform System Restore

แก้ Protection Fault Printer Properties Error

1. Run Printer Troubleshooter

Windows 10 Built-in Troubleshooter Restart Printer/Drivers Check Errors Printer ต้องเชื่อมต่อระหว่างกระบวนการ

  1. Start > Settings
  2. Update and Security
  3. Troubleshooter Tab
  4. Scroll หา Printers > Run the troubleshooter
  5. Follow On-screen Instructions Apply Fixes

พยายาม Print ใหม่ ดูว่า Error หายหรือไม่ ไม่อยู่ ให้ขั้นตอนต่อไป

2. Run SFC/DISM Scan

SFC/DISM Utility สแกน Corruptions ใน Windows System Files และ Restore ไฟล์เสียหาย

สะดวก: รันผ่าน Batch File

  1. Win+R > notepad Enter
  2. Copy/Paste คำสั่งด้านล่าง:
@echo off
date /t & time /t
echo Dism /Online /Cleanup-Image /StartComponentCleanup
Dism /Online /Cleanup-Image /StartComponentCleanup
echo ...
date /t & time /t
echo Dism /Online /Cleanup-Image /RestoreHealth
Dism /Online /Cleanup-Image /RestoreHealth
echo ...
date /t & time /t
echo SFC /scannow
SFC /scannow
date /t & time /t
pause
  1. Save เป็น SFC_DISM_scan.bat
  2. Run as Administrator ซ้ำจน No Errors
  3. Restart PC

Print Test ใหม่ ดูว่าแก้ได้หรือไม่

3. เปลี่ยน Default Printer

Error อาจเกิดจาก Printer ที่ต้องการไม่ได้ Set เป็น Default ใน Windows Settings

  1. Win+R > ms-settings:printers Enter เปิด Printers & Scanners
  2. Uncheck Allow Windows to manage my default printer
  3. คลิก Printer ที่ต้องการ > Set as default

Restart PC เช็ค Error หายหรือไม่

อ่านเพิ่ม: How to reset Printer to default factory settings.

4. Update Printer Driver

ติดตั้ง Latest Print Drivers จากเว็บ Manufacturer หรือผ่าน Device Manager:

  1. Win+X > M เปิด Device Manager
  2. ขยาย Print Queues
  3. Right-click Printer ที่มีปัญหา > Update Driver
  4. Search Automatically for Updated Driver Software
  5. รอ Scan หาเจอ Version ใหม่ Follow Instructions Install
  6. Restart Device

Print Test ใหม่

5. Uninstall Driver, Rename Subkeys, Restart Print Spooler

ลำดับงาน: Uninstall Driver, Rename Printing Subkeys, Restart Print Spooler

  1. Login เครื่องที่มีปัญหา
  2. Win+X > M > Device Manager
  3. ขยาย Print Queues
  4. Right-click Driver ที่ต้องการลบ > Uninstall Device > Uninstall Confirm
  5. Exit Device Manager
  6. Win+R > printui.exe /s /t2 Enter เปิด Printer Server Properties UI
  7. Tab Drivers > Select Driver ปัญหา > Remove
  8. Remove Driver And Package Dialog > Select Remove driver only > OK
  9. Exit Print Server Properties
  10. Win+R > regedit Enter

สำคัญ: Backup Registry ก่อนต่อ

  1. ไป: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\
  2. Rename Subkeys/Keys ใต้ Print Processors เพิ่ม .old extension (บังคับ Windows สร้างใหม่)

แก้  Function address caused a protection fault  Error พิมพ์จาก Office ใน Windows 11/10

Note: กรณีนี้มี Subkey เดียว (winprint) เปลี่ยนเป็น winprint.old

  1. Close Registry Editor
  2. Win+R > services.msc Enter เปิด Services
  3. หา Print Spooler > Right-click > Properties > Stop
  4. เก็บ Print Spooler Properties เปิดไว้
  5. File Explorer ไป: C:\WINDOWS\system32\spool\PRINTERS
  6. ลบไฟล์ทั้งหมดใน Printers Folder (View > Hidden Items หาไม่เจอ)
  7. Close File Explorer
  8. ใน Print Spooler Properties > Start (Restart Service)
  9. Restart PC อีกครั้ง Reinstall Printer Drivers ตอน Startup Print Test อีกครั้ง

6. เปลี่ยน LegacyDefaultPrinterMode Registry Key

แก้  Function address caused a protection fault  Error พิมพ์จาก Office ใน Windows 11/10

แก้ Error โดยเปลี่ยน LegacyDefaultPrinterMode Value Data ใน Registry

  1. Backup Registry
  2. ไป: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
  3. Double-click LegacyDefaultPrinterMode Edit Properties
  4. Value Data = 1 (กลับสู่ Default Printer Behavior เดิมใน Windows 10)
  5. OK > Restart PC

Check Issue Resolved หรือไม่

7. Perform System Restore

หา Error เกิดขึ้นเร็วๆ นี้ อาจมาจากการเปลี่ยนแปลงระบบล่าสุด หา Root Cause ไม่ได้ ใช้ System Restore (Changes ระหว่างนั้น: App Installs, User Preferences จะหาย) กลับไป Restore Point ที่ Print ทำงานปกติ

  1. Win+R > rstrui Enter เปิด System Restore Wizard
  2. Next > ติ๊ก Show more restore points
  3. Select Point วันที่เก่ากว่าเมื่อ Error เริ่มเกิด
  4. Next > Finish > Confirm

Next Startup จะ Enforce Older Computer State

หวังว่าวิธีใดวิธีหนึ่งจะแก้ปัญหาให้คุณ!

แก้  Function address caused a protection fault  Error พิมพ์จาก Office ใน Windows 11/10