บทความนี้ร่วมเขียนโดยเหล่าบรรณาธิการและนักวิจัยที่ผ่านการฝึกฝนมาเพื่อความถูกต้องและครอบคลุมของเนื้อหา
ทีมผู้จัดการด้านเนื้อหาของวิกิฮาว จะตรวจตราผลงานจากทีมงานด้านเนื้อหาของเราเพื่อความมั่นใจว่าบทความทุกชิ้นได้มาตรฐานตามที่เราตั้งไว้
บทความนี้ถูกเข้าชม 14,558 ครั้ง
บทความวิกิฮาวนี้จะแนะนำวิธีการลงทะเบียน หรือ register ไฟล์ DLL เพื่อสร้าง path จากไฟล์นั้นไปยัง registry ของ Windows การ register ไฟล์ DLL สามารถแก้ปัญหา startup ของบางโปรแกรมได้ด้วย แต่ไฟล์ DLL ส่วนใหญ่จะ register ไว้แล้ว หรือ register ไม่ได้นี่สิ ย้ำว่าคุณ register ไฟล์ DLL ที่มีในคอม Windows แต่แรกไม่ได้ เพราะไฟล์ DLL พวกนี้สำคัญต่อการทำงานของ Windows เวลาอัพเดท Windows ใหม่ จะไปแก้ไขไฟล์ DLL ที่เก่าไปแล้วหรือทำงานผิดปกติเอง
ขั้นตอน
- วิธีนี้ทำงานยังไง. คุณ register ไฟล์ DLL โดยใช้คำสั่ง "regsvr" กับชื่อไฟล์ DLL ได้ ถ้าไฟล์ DLL นั้นใช้คำสั่ง export Register Server ได้ จะเป็นการสร้าง path จาก registry ของ Windows ไปยังไฟล์ DLL ทำให้ processes ของ Windows หาและใช้งานไฟล์ DLL ได้ง่ายยิ่งขึ้น
- จะใช้วิธีนี้บ่อยสุดเวลา register ไฟล์ DLL ของโปรแกรม third-party ที่ปกติจะเชื่อมต่อกับทรัพยากรในระบบโดยตรง (เช่น Command Prompt)
- error "entry point" คืออะไร. ถ้า register ไฟล์ DLL แล้ว ไฟล์ไม่รองรับคำสั่ง export Register Server หรือโค้ดของไฟล์ไม่ยอมให้เชื่อมต่อกับ registry ของ Windows ก็จะมี error ขึ้นว่า "The module [ชื่อไฟล์ DLL] was loaded but the entry point DllRegisterServer was not found" ถ้าเห็นข้อความ error นี้เมื่อไหร่ แสดงว่า register ไฟล์ DLL นั้นไม่ได้
- จริงๆ แล้ว error "entry point" ไม่ใช่เรื่องใหญ่ เหมือนเป็นการแจ้งเตือนเฉยๆ ว่าไม่ต้อง register ไฟล์ DLL นี้แล้ว
- หาไฟล์ DLL ที่จะ register. ไปยังโฟลเดอร์ของไฟล์ DLL ที่จะ register พอเจอไฟล์ DLL ที่จะ register แล้ว ก็ไปต่อได้เลย
- เช่น ถ้าอยาก register ไฟล์ DLL ของโปรแกรมที่ติดตั้งไว้ในเครื่องแล้ว ก็ต้องไปที่โฟลเดอร์ของโปรแกรมนั้น (เช่น "C:\Program Files\[ชื่อโปรแกรม]")
- เปิด Properties ของไฟล์ DLL. คลิกขวาที่ไฟล์ DLL แล้วคลิก Properties ในเมนูที่ขยายลงมา เพื่อเปิดหน้าต่าง pop-up
- จดชื่อไฟล์ DLL ไว้. ในช่องด้านบนของหน้าต่าง Properties จะเห็นชื่อเต็มของไฟล์ DLL นี่คือชื่อที่ต้องใช้ทีหลัง
- แน่นอนว่าชื่อของไฟล์ DLL นั้นจะดูมั่วๆ จำยาก เพราะงั้นให้เปิดหน้าต่าง Properties ไว้ก่อนหลังเสร็จขั้นตอนแล้ว เดี๋ยวจะได้กลับมา copy ชื่อไฟล์
- copy path ของไฟล์ DLL. คลิกแล้วลากเคอร์เซอร์คลุม string ข้อความทางขวาของหัวข้อ "Location" จากนั้นกด Ctrl+C เพื่อ copy path ของโฟลเดอร์ของไฟล์ DLL
- ค้นหา Command Prompt. พิมพ์ command prompt ในแถบค้นหาของ Start ไอคอน Command Prompt จะโผล่มาที่ด้านบนของหน้าต่าง
- สลับไปที่โฟลเดอร์ของไฟล์ DLL. พิมพ์ cd เว้นวรรค กด Ctrl+V เพื่อ paste path ของไฟล์ DLL แล้วกด ↵ Enter
- เช่น ถ้าไฟล์ DLL อยู่ในโฟลเดอร์ "SysWOW64" ในโฟลเดอร์ "Windows" อีกที ก็ต้องพิมพ์คำสั่งว่า
cd C:\Windows\SysWOW64
- เช่น ถ้าไฟล์ DLL อยู่ในโฟลเดอร์ "SysWOW64" ในโฟลเดอร์ "Windows" อีกที ก็ต้องพิมพ์คำสั่งว่า
- พิมพ์คำสั่ง "regsvr" ตามด้วยชื่อไฟล์ DLL. พิมพ์ regsvr32 เว้นวรรค แล้วพิมพ์ชื่อไฟล์ DLL (ลงท้ายด้วย extension ".dll") จากนั้นกด ↵ Enter ถ้าสามารถ register ไฟล์ DLL นั้นได้ ก็จะมีข้อความยืนยันขึ้นมา[1]
- เช่น ถ้าชื่อไฟล์ DLL เป็น "usbperf.dll" คำสั่งที่ต้องพิมพ์ก็จะเป็น
regsvr32 usbperf.dll
- ถ้าจะ copy ชื่อไฟล์ DLL ในขั้นตอนนี้ ให้เปิดโฟลเดอร์ที่มีไฟล์ DLL ขึ้นมาอีกที (หน้าต่าง Properties จะเด้งขึ้นมา) แล้วลากคลุมชื่อที่ปรากฏในช่อง จากนั้นกด Ctrl+C แล้ว paste ชื่อใน Command Prompt โดยกด Ctrl+V
- ถ้าไฟล์ DLL นั้นถูก register แล้ว หรือไม่สามารถ register ได้ ก็จะขึ้น error "entry point" แทนข้อความยืนยัน
- เช่น ถ้าชื่อไฟล์ DLL เป็น "usbperf.dll" คำสั่งที่ต้องพิมพ์ก็จะเป็น
- ลอง unregister แล้ว register ไฟล์ DLL นั้นใหม่อีกรอบ. ถ้าพิมพ์คำสั่ง "regsvr" แล้วมีข้อความ error อื่นที่ไม่ใช่ "entry point" อาจจะต้อง unregister หรือยกเลิกการลงทะเบียนไฟล์ DLL นั้นก่อน แล้วค่อย register ใหม่อีกรอบ
- พิมพ์ regsvr32 /u name.dll แล้วกด ↵ Enter อย่าลืมเปลี่ยน "name" เป็นชื่อไฟล์ DLL
- พิมพ์ regsvr32 name.dll แล้วกด ↵ Enter อีกที อย่าลืมเปลี่ยน "name" เป็นชื่อไฟล์ DLL ด้วย
โฆษณา
- วิธีนี้ทำงานยังไง. พอคุณสร้างรายชื่อไฟล์ DLL ทั้งหมดในคอม และเปิดรายชื่อนั้นเป็นไฟล์ BAT แล้ว ก็จะกับ register ไฟล์ DLL ทั้งหมดในคอมได้โดยอัตโนมัติ เหมาะกับคนที่ไม่มีไฟล์ DLL ที่อยากเจาะจง register
- ค้นหา Command Prompt. พิมพ์ command prompt ในแถบค้นหาของ Start จะเห็นไอคอน Command Prompt โผล่มาทางด้านบนของหน้าต่าง
- สลับไปที่โฟลเดอร์ Windows. พิมพ์ cd c:\Windows แล้วกด ↵ Enter เพื่อให้ Command Prompt ใช้คำสั่งถัดไปในโฟลเดอร์ "Windows"
- สร้างไฟล์รายชื่อ DLL. พิมพ์ dir *.dll /s /b > C:\regdll.bat ใน Command Prompt แล้วกด ↵ Enter เพื่อให้ Command Prompt สร้างไฟล์ที่รวมตำแหน่งและชื่อของทุกไฟล์ DLL ในโฟลเดอร์ Windows
- ปิด Command Prompt. พอเห็นข้อความ "c:\Windows>" โผล่มาในบรรทัดใหม่ล่างคำสั่งที่ป้อนไป ก็ออกจาก Command Prompt แล้วทำขั้นตอนต่อไปได้เลย
- copy ไฟล์ไปไว้ที่ desktop. ก่อนจะเซฟค่าใหม่ได้ ต้อง copy/paste ไฟล์ "regdll" ไว้ที่หน้า desktop ซะก่อน
- คลิกไฟล์หนึ่งครั้งเพื่อเลือก
- กด Ctrl+C
- คลิกที่หน้า desktop
- กด Ctrl+V
- เปิดไฟล์รายชื่อใน Notepad. คลิกไฟล์ที่หน้า desktop เพื่อเลือก แล้วทำตามขั้นตอนต่อไปนี้
- คลิกขวาไฟล์ "regdll"
- คลิก Edit ในเมนูที่ขยายลงมา
- ลบโฟลเดอร์ DLL ที่ไม่จำเป็น. จริงๆ ไม่จำเป็น แต่ถ้าทำขั้นตอนนี้จะช่วยประหยัดเวลาในการ register ไฟล์ DLL ไปได้เยอะ คุณลบได้ทุกบรรทัดที่มี path ต่อไปนี้[2]
- C:\Windows\WinSXS — เนื้อหาท่อนล่างประมาณ 1/4 ของทั้งหมดจะมีข้อความนี้
- C:\Windows\Temp — ปกติจะอยู่แถวหัวข้อที่เคยมี "WinSXS"
- C:\Windows\$patchcache$ — อันนี้หายาก ต้องค้นหาโดยกด Ctrl+F พิมพ์ $patchcache$ แล้วคลิก Find next
- เติมคำสั่ง "regsvr" ที่ข้อความแต่ละบรรทัด. โดยใช้ฟีเจอร์ "Find and Replace" ของ Notepad
- คลิก Edit
- คลิก Replace... ในเมนูที่ขยายลงมา
- พิมพ์ c:\ ในช่อง "Find what"
- พิมพ์ Regsvr32.exe /s c:\ ในช่อง "Replace with"
- คลิก Replace All
- ปิดหน้าต่างนั้น
- เซฟค่าใหม่แล้วออกจาก Notepad. กด Ctrl+S เพื่อเซฟค่าใหม่ แล้วคลิก X ที่มุมขวาบนของหน้าต่าง Notepad เพื่อปิด ถึงตอนนี้ไฟล์ "regdll.bat" ก็พร้อมใช้แล้ว
- เปิดไฟล์. คลิกขวาที่ไฟล์ "regdll.bat" คลิก Run as administrator แล้วคลิก Yes ตอนที่ต้องเปิดใน Command Prompt เพื่อให้ Command Prompt เริ่ม register ทุกไฟล์ DLL ที่มี ขั้นตอนนี้ค่อนข้างใช้เวลานาน เพราะงั้นต้องเสียบปลั๊กและเปิดคอมทิ้งไว้
- ออกจาก Command Prompt. พอเสร็จสิ้นกระบวนการแล้ว ก็ปิด Command Prompt ได้เลย ไฟล์ DLL ของคอมจะถูก register เรียบร้อยโฆษณา
เคล็ดลับ
- การ unregister ไฟล์ DLL นั้นเหมาะกับเวลาอยากลบไฟล์ เพราะทุกไฟล์ DLL แบบ register แล้วจะถือเป็น "read-only" เลยลบไม่ได้ ต้อง unregister ซะก่อน
คำเตือน
- ไฟล์ DLL จำเป็นมากต่อการทำงานของ Windows ถึงจะแทบไม่มีโอกาสพลาด แต่ถ้าเผลอไปลบหรือเปลี่ยนแปลงไฟล์ DLL ของระบบเข้า ก็เสี่ยงทำคอมเจ๊งหรือระบบล่มได้เหมือนกัน
ข้อมูลอ้างอิง
เกี่ยวกับวิกิฮาวนี้
บทความนี้เป็นประโยชน์กับคุณไหม
⚠️ Disclaimer:
Content from Wiki How ไท language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.
- - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
- - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
- - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
- - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.