พยายามพิมพ์ไฟล์/เอกสารจาก 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.

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 ต่อไปตามลำดับไม่จำเป็น:
- Run Printer Troubleshooter
- Run SFC/DISM Scan
- เปลี่ยน Default Printer
- Update Printer Driver
- Uninstall Printer Driver, Rename Printing Subkeys, Restart Print Spooler
- เปลี่ยน LegacyDefaultPrinterMode Registry Key Value Data
- Perform System Restore
แก้ Protection Fault Printer Properties Error
1. Run Printer Troubleshooter
Windows 10 Built-in Troubleshooter Restart Printer/Drivers Check Errors Printer ต้องเชื่อมต่อระหว่างกระบวนการ
- Start > Settings
- Update and Security
- Troubleshooter Tab
- Scroll หา Printers > Run the troubleshooter
- Follow On-screen Instructions Apply Fixes
พยายาม Print ใหม่ ดูว่า Error หายหรือไม่ ไม่อยู่ ให้ขั้นตอนต่อไป
2. Run SFC/DISM Scan
SFC/DISM Utility สแกน Corruptions ใน Windows System Files และ Restore ไฟล์เสียหาย
สะดวก: รันผ่าน Batch File
- Win+R >
notepadEnter - 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
- Save เป็น SFC_DISM_scan.bat
- Run as Administrator ซ้ำจน No Errors
- Restart PC
Print Test ใหม่ ดูว่าแก้ได้หรือไม่
3. เปลี่ยน Default Printer
Error อาจเกิดจาก Printer ที่ต้องการไม่ได้ Set เป็น Default ใน Windows Settings
- Win+R >
ms-settings:printersEnter เปิด Printers & Scanners - Uncheck Allow Windows to manage my default printer
- คลิก 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:
- Win+X > M เปิด Device Manager
- ขยาย Print Queues
- Right-click Printer ที่มีปัญหา > Update Driver
- Search Automatically for Updated Driver Software
- รอ Scan หาเจอ Version ใหม่ Follow Instructions Install
- Restart Device
Print Test ใหม่
5. Uninstall Driver, Rename Subkeys, Restart Print Spooler
ลำดับงาน: Uninstall Driver, Rename Printing Subkeys, Restart Print Spooler
- Login เครื่องที่มีปัญหา
- Win+X > M > Device Manager
- ขยาย Print Queues
- Right-click Driver ที่ต้องการลบ > Uninstall Device > Uninstall Confirm
- Exit Device Manager
- Win+R >
printui.exe /s /t2Enter เปิด Printer Server Properties UI - Tab Drivers > Select Driver ปัญหา > Remove
- Remove Driver And Package Dialog > Select Remove driver only > OK
- Exit Print Server Properties
- Win+R >
regeditEnter
สำคัญ: Backup Registry ก่อนต่อ
- ไป:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\ - Rename Subkeys/Keys ใต้ Print Processors เพิ่ม .old extension (บังคับ Windows สร้างใหม่)

Note: กรณีนี้มี Subkey เดียว (winprint) เปลี่ยนเป็น winprint.old
- Close Registry Editor
- Win+R >
services.mscEnter เปิด Services - หา Print Spooler > Right-click > Properties > Stop
- เก็บ Print Spooler Properties เปิดไว้
- File Explorer ไป:
C:\WINDOWS\system32\spool\PRINTERS - ลบไฟล์ทั้งหมดใน Printers Folder (View > Hidden Items หาไม่เจอ)
- Close File Explorer
- ใน Print Spooler Properties > Start (Restart Service)
- Restart PC อีกครั้ง Reinstall Printer Drivers ตอน Startup Print Test อีกครั้ง
6. เปลี่ยน LegacyDefaultPrinterMode Registry Key

แก้ Error โดยเปลี่ยน LegacyDefaultPrinterMode Value Data ใน Registry
- Backup Registry
- ไป:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows - Double-click LegacyDefaultPrinterMode Edit Properties
- Value Data = 1 (กลับสู่ Default Printer Behavior เดิมใน Windows 10)
- OK > Restart PC
Check Issue Resolved หรือไม่
7. Perform System Restore
หา Error เกิดขึ้นเร็วๆ นี้ อาจมาจากการเปลี่ยนแปลงระบบล่าสุด หา Root Cause ไม่ได้ ใช้ System Restore (Changes ระหว่างนั้น: App Installs, User Preferences จะหาย) กลับไป Restore Point ที่ Print ทำงานปกติ
- Win+R >
rstruiEnter เปิด System Restore Wizard - Next > ติ๊ก Show more restore points
- Select Point วันที่เก่ากว่าเมื่อ Error เริ่มเกิด
- Next > Finish > Confirm
Next Startup จะ Enforce Older Computer State
หวังว่าวิธีใดวิธีหนึ่งจะแก้ปัญหาให้คุณ!
