วันนี้ ผมจะแสดงวิธีแก้ไข หากคุณเผชิญสถานการณ์ที่ไม่สามารถหรือไม่สามารถเปลี่ยน Default Program Extension ใน Windows 11/10/8/7 ได้ ผมกำลังช่วยลูกค้าคนหนึ่ง ระบบปฏิบัติการของเขาได้เปลี่ยน Default Program Extension ไปเป็นโปรแกรมอื่น ไม่ได้ตั้งใจ กล่าวคือ ไฟล์ควรเปิดด้วย Outlook – แต่กลายเป็น Notepad แทน
ไม่สามารถเปลี่ยน Default Program Extension ได้
เมื่อผมลองเปลี่ยนกลับเป็น Outlook ภายใต้ Properties ของไฟล์นั้น ตัวเลือก Change เป็นสีเทา (Grayed out)

ดังนั้น ผมลองคลิกขวาที่ไฟล์ และคลิกที่กล่องโต้ตอบ “Open With” เพราะที่นี่มีกล่องติ๊ก “Always use the selected program to open this kind of file”
แต่奇怪的是 Checkbox นั้นก็เป็นสีเทาเช่นกัน เมื่อผมเลือก Outlook มันเปิดได้ดี แต่ผมเพียงไม่สามารถตั้งค่าเป็น Default ได้
ดังนั้น ผมไปที่ Control Panel\All Control Panel Items\Default Programs\Set Associations และลองเปลี่ยนที่นั่น แต่เสียดาย ผมไม่สามารถทำได้อีก ผมสับสนมากเพราะ UAC ปิดอยู่ ผู้ใช้เป็น Windows Administrator – จึงไม่มีเหตุผลที่ตัวเลือกจะถูกปิดใช้งาน
นั่นคือเวลาที่ผมจำได้ว่ามีตัวเลือกใน Windows Registry ที่คุณสามารถเปลี่ยนได้ ดังนั้น ผมเปิด Registry และไปที่คีย์ต่อไปนี้:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
ที่นี่ คุณต้องหา Extension ของคุณภายใต้คีย์ที่เรียกว่า “UserChoice”
สิ่งที่ Registry Key นี้ทำ คือ หากคุณเปลี่ยน Default File Extension Windows จะสร้าง Key นี้และเพิ่มค่าที่นั่น

ด้านขวาคุณจะเห็น String Value “Progid” ภายใต้ค่านั้น คุณจะเห็นโปรแกรมปัจจุบันที่เชื่อมโยงกับมัน ดังนั้น ผมลองเปลี่ยนค่านั้น แต่ได้ Error: Cannot edit Progid

ตอนนี้ผมเข้าใจว่าผิดที่ไหนแล้ว! ด้วยเหตุผลบางอย่าง Registry Key เฉพาะนั้นไม่มีสิทธิ์ในการเปลี่ยน File Extension และนั่นคือเหตุผลที่ตัวเลือกเหล่านั้นเป็นสีเทาสำหรับผม ดังนั้น ผมจึง Take Ownership ของ Parent Key และสืบทอด Permission

ตอนนี้ผมสามารถลบคีย์ “UserChoice” ได้ เมื่อผมลบมันและรีบูทระบบ โอ้โห – ตอนนี้ผมได้หน้าต่างนี้!

เมื่อผมเลือกโปรแกรมที่ถูกต้อง ผมตั้งค่าเป็น Default และมันอยู่ได้
หวังว่านี้จะช่วยคนที่เจอปัญหาแบบเดียวกัน
ลิงก์เหล่านี้อาจน่าสนใจคุณ:
- File Association Fixer for Windows
- ลบโปรแกรมที่ไม่ต้องการออกจาก Recommended Programs List ในกล่อง Open With
- วิธี Dissociate File Types ใน Windows