ไฟล์ comdlg32.ocx เป็นส่วนหนึ่งของชุด Visual Basic Runtime และไม่ได้อยู่บนคอมพิวเตอร์ของคุณโดยค่าเริ่มต้น ไฟล์นี้เป็นส่วนหนึ่งของชุดดังกล่าวและถูกใช้โดยแอปพลิเคชันจำนวนมาก แอปพลิเคชันที่ใช้ไฟล์นี้อาจแสดงข้อความข้อผิดพลาดดังต่อไปนี้:
Component comdlg32.ocx or one of its dependencies not correctly registered: a file is missing or invalid.
ข้อความนี้บ่งชี้ว่าไฟล์หายไปหรือเสียหาย การแก้ไขปัญหานี้ไม่ควรยากเกินไป เนื่องจากผู้ใช้จำนวนมากได้แชร์วิธีการที่พวกเขาใช้ในการแก้ไขปัญหา โปรดตรวจสอบวิธีต่างๆ ด้านล่างนี้!
สาเหตุของข้อผิดพลาด 'comdlg32.ocx หายไป' บน Windows
ข้อผิดพลาด 'comdlg32.ocx หายไป' บน Windows เกิดจากสองปัญหาที่แตกต่างกัน เราได้รวมไว้ด้านล่างเพื่อให้คุณตรวจสอบและหวังว่าจะเข้าใกล้วิธีแก้ไขสุดท้าย!
- ปัญหาเกี่ยวกับไฟล์ 'comdlg32.exe' – หากไฟล์หายไป เสียหาย หรือยังไม่ได้ลงทะเบียน คุณอาจต้องแทนที่ด้วยเวอร์ชันที่ใช้งานได้และลงทะเบียนใหม่โดยใช้ Command Prompt อาจเป็นไปได้ว่าแอปที่มีปัญหาไม่มีสิทธิ์เข้าถึงไฟล์ ดังนั้นโปรดแน่ใจว่าคุณได้ให้สิทธิ์เจ้าของและสิทธิ์การเข้าถึง!
- User Account Control (UAC) – การปิด UAC ช่วยแก้ไขปัญหาให้กับผู้ใช้จำนวนมาก แต่วิธีนี้จะขึ้นอยู่กับแอปที่มีปัญหาเป็นหลัก
วิธีแก้ไขที่ 1: ลงทะเบียนไฟล์ใหม่
หากไฟล์ 'comdlg32.ocx' บนคอมพิวเตอร์ของคุณหายไปหรือเสียหาย สิ่งที่ดีที่สุดคือดาวน์โหลดไฟล์ที่ใช้งานได้และลงทะเบียนใหม่โดยใช้ Command Prompt เป็นขั้นตอนที่ง่าย แต่โปรดปฏิบัติตามคำแนะนำอย่างระมัดระวัง เนื่องจากคุณกำลังทำงานกับไฟล์ระบบ ตรวจสอบด้านล่างนี้!
- คลิกลิงก์นี้เพื่อดาวน์โหลดไฟล์ comdlg32.ocx ที่ใช้งานได้บนคอมพิวเตอร์ของคุณ การคลิกลิงก์จะเริ่มดาวน์โหลดทันที ค้นหาไฟล์บนคอมพิวเตอร์ คลิกขวาและเลือก Copy จากเมนูบริบทที่ปรากฏขึ้น
- ต่อไป ให้เปิดรายการ Libraries บนคอมพิวเตอร์ที่มีปัญหา หรือเปิดโฟลเดอร์ใดก็ได้บนคอมพิวเตอร์และคลิกตัวเลือก This PC จากเมนูด้านซ้าย
- ไปที่ตำแหน่งต่อไปนี้บนคอมพิวเตอร์เพื่อค้นหาโฟลเดอร์ที่คุณต้องคัดลอกไฟล์ไป:
C:\Windows\System32 >> Windows 32-bit C:\Windows\SysWOW64 >> Windows 64-bit
- คลิกขวาที่ أيที่ภายในโฟลเดอร์และเลือกตัวเลือก Paste จากเมนูบริบทที่ปรากฏขึ้น คุณอาจต้องให้สิทธิ์ผู้ดูระบบสำหรับการกระทำนี้ ยืนยันพรอมพ์ใดๆ ที่ปรากฏขึ้นเพื่อแทนที่ไฟล์ที่อยู่ที่นั่นอยู่แล้ว
- ค้นหา "Command Prompt" โดยพิมพ์ไว้ที่เมนู Start หรือกดปุ่มค้นหาข้างๆ มัน คลิกขวาที่รายการแรกที่ปรากฏเป็นผลลัพธ์การค้นหาและเลือก "Run as administrator" จากเมนูบริบท
- เพิ่มเติม คุณสามารถใช้ชุดปุ่ม Windows Logo Key + R เพื่อเรียกกล่องโต้ตอบ Run พิมพ์ "cmd" ในกล่องโต้ตอบที่ปรากฏและใช้ชุดปุ่ม Ctrl + Shift + Enter สำหรับ Command Prompt ที่มีสิทธิ์ผู้ดูระบบ
- พิมพ์คำสั่งต่อไปนี้ในหน้าต่างและตรวจสอบให้แน่ใจว่าคุณกด Enter หลังจากพิมพ์เสร็จ
regsvr32 /u Comdlg32.ocx regsvr32 /i Comdlg32.ocx
- ลองเปิดแอปที่แสดงข้อผิดพลาด 'comdlg32.ocx หายไป' และตรวจสอบว่าปัญหายังคงปรากฏหรือไม่!
วิธีแก้ไขที่ 2: รันโปรแกรมในโหมดความเข้ากันได้พร้อมสิทธิ์ผู้ดูระบบ
การรันโปรแกรมในโหมดความเข้ากันได้สำหรับ Windows เวอร์ชันเก่ากว่าที่ติดตั้งอยู่บนคอมพิวเตอร์ของคุณทำงานได้กับผู้ใช้จำนวนมาก ในบางกรณี การรันไฟล์ executable ของโปรแกรมที่มีปัญหาด้วยสิทธิ์ผู้ดูระบบสามารถแก้ไขปัญหากับไฟล์ comdlg32.ocx ได้ คุณสามารถลองทั้งสองวิธีหรือเพียงหนึ่งวิธีพร้อมกัน โปรดทราบว่าวิธีนี้ขึ้นอยู่กับโปรแกรมที่แสดงข้อผิดพลาดเป็นหลัก!
- ค้นหาไฟล์ executable ของโปรแกรม และเปลี่ยนคุณสมบัติโดยคลิกขวาที่รายการบน Desktop, เมนู Start หรือหน้าต่างผลการค้นหา และเลือก Properties ไปที่แท็บ Compatibility ในหน้าต่าง Properties และติ๊กถูกกล่องข้างๆ Run this program as an administrator

- ภายใต้ส่วน Compatibility mode ติ๊กถูกกล่องข้างๆ ตัวเลือก Run this program in compatibility mode for และเลือก Windows 8 หรือ 7 จากรายการแบบเลื่อนลง ก่อนยอมรับการเปลี่ยนแปลง หากตัวเลือกนี้ถูกติ๊กไว้แล้ว ให้ยกเลิกการติ๊กให้หมด
- ตรวจสอบให้แน่ใจว่าคุณยืนยันกล่องโต้ตอบใดๆ ที่อาจปรากฏขึ้นเพื่อยืนยันด้วยสิทธิ์ผู้ดูระบบ และโปรแกรมควรเปิดด้วยสิทธิ์ผู้ดูระบบตั้งแต่ตอนนี้ คลิกสองครั้งที่ไอคอนและลองดูว่าข้อผิดพลาดยังปรากฏหรือไม่
วิธีแก้ไขที่ 3: เปลี่ยนเจ้าของและให้สิทธิ์เต็มสำหรับไฟล์ 'comdlg32.ocx'
หากไฟล์ไม่สามารถเข้าถึงได้อย่างถูกต้องโดยแอปพลิเคชันที่แสดงข้อความข้อผิดพลาด ข้อผิดพลาดนี้จะยังคงอยู่และคุณจะไม่สามารถใช้แอปได้ อย่างไรก็ตาม สามารถเปลี่ยนเจ้าของและสิทธิ์สำหรับไฟล์ 'comdlg32.ocx' ให้ทุกคนเข้าถึงได้ พร้อมทั้งคุณจะต้องมีสิทธิ์ผู้ดูระบบเพื่อดำเนินการขั้นตอนด้านล่าง!
- เปิดรายการ Libraries บนคอมพิวเตอร์ที่มีปัญหา หรือเปิดโฟลเดอร์ใดก็ได้บนคอมพิวเตอร์และคลิกตัวเลือก This PC จากเมนูด้านซ้าย
- ไปที่ตำแหน่งต่อไปนี้บนคอมพิวเตอร์เพื่อค้นหาโฟลเดอร์ที่ไฟล์ 'comdlg32.ocx' ตั้งอยู่:
C:\Windows\System32 >> Windows 32-bit C:\Windows\SysWOW64 >> Windows 64-bit
- คุณจะต้องเป็นเจ้าของไฟล์ ocx ที่อยู่ในโฟลเดอร์ข้างต้นก่อนดำเนินการต่อ คลิกขวาไฟล์ แล้วคลิก Properties และคลิกแท็บ Security คลิกปุ่ม Advanced หน้าต่าง "Advanced Security Settings" จะปรากฏขึ้น ที่นี่คุณต้องเปลี่ยน Owner ของคีย์
- คลิกลิงก์ Change ถัดจากป้าย "Owner:" หน้าต่าง Select User or Group จะปรากฏขึ้น

- เลือกบัญชีผู้ใช้ผ่านปุ่ม Advanced หรือพิมพ์บัญชีผู้ใช้ของคุณในพื้นที่ที่ระบุว่า 'Enter the object name to select' และคลิก OK เพิ่มบัญชี Everyone
- คลิกปุ่ม Add ด้านล่าง และตามด้วยการคลิกปุ่ม Select a principal ที่ด้านบน เลือกบัญชีผู้ใช้ผ่านปุ่ม Advanced หรือพิมพ์บัญชีผู้ใช้ของคุณในพื้นที่ที่ระบุว่า 'Enter the object name to select' และคลิก OK เพิ่มบัญชี Everyone
- ภายใต้ส่วน Basic permissions ตรวจสอบให้แน่ใจว่าคุณเลือก Full control ก่อนนำการเปลี่ยนแปลงที่คุณทำไปใช้

- ตรวจสอบว่าปัญหาได้รับการแก้ไขแล้วหรือไม่ และว่าคุณยังคงเห็นข้อความข้อผิดพลาด 'comdlg32.ocx หายไป' บนคอมพิวเตอร์ของคุณหรือไม่!
วิธีแก้ไขที่ 4: ปิด UAC
การปิด UAC อาจมีประโยชน์เมื่อข้อผิดพลาดปรากฏในโปรแกรมเฉพาะ UAC ไม่ได้เป็นคุณสมบัติความปลอดภัยหลัก เพราะเพียงแค่แจ้งเตือนผู้ใช้เมื่อพวกเขาจะทำการเปลี่ยนแปลงที่สำคัญมากขึ้นให้กับคอมพิวเตอร์ หากมีอะไร การปิดมันจะปิดใช้งานพรอมพ์บางอย่างที่รบกวนซึ่งปรากฏเมื่อเปิดเครื่องมือระบบ
- เปิด Control Panel โดยค้นหาในเมนู Start คุณสามารถใช้ชุดปุ่ม Windows Key + R พิมพ์ "control.exe" ในกล่อง Run ที่จะปรากฏและคลิก OK
- เปลี่ยนตัวเลือก View by ใน Control Panel เป็น Large Icons และค้นหาตัวเลือก User Accounts โดยเลื่อนหรือดูที่ด้านล่าง

- เปิดมันและคลิกปุ่ม "Change User Account Control Settings" คุณจะสังเกตว่ามีระดับต่างๆ หลายระดับที่คุณสามารถเลือกได้บนสไลเดอร์ความปลอดภัย
- ลองลดค่านี้ลง หนึ่งระดับ หากอยู่ที่สไลเดอร์บนสุด และตรวจสอบว่าช่วยได้หรือไม่หลังจากเปิดโปรแกรมที่มีปัญหา ทำซ้ำกระบวนการหากข้อผิดพลาดยังคงปรากฏ

- เราแนะนำให้คุณ ปิด UAC สำหรับตอนนี้ เนื่องจากโปรแกรมควรจะเปิดได้สำเร็จ และลองเปิดใช้งานอีกครั้งหลังจากนั้น