ลงทะเบียนและยกเลิกการลงทะเบียน DLL ที่ยกระดับผ่านการคลิกขวาที่เมนูบริบท

โพสต์นี้จะบอกวิธีเพิ่มคำสั่ง register และ unregister ให้กับเมนูคลิกขวาสำหรับไฟล์ DLL และ OCX ใน Windows Vista, 7, 8 และ 10

ในการลงทะเบียนไฟล์ DLL หรือ OCX คุณต้องเรียกใช้ regsvr32.exe จาก an สูง พร้อมรับคำสั่ง. การลงทะเบียน DLL ของระบบจากสถานะที่ไม่ได้ยกระดับอาจทำให้เกิดข้อผิดพลาด ตัวอย่างเช่น ลองลงทะเบียนโมดูลระบบ JScript.dll จากเริ่ม กล่องค้นหา (เช่น โดยไม่ต้องยกขึ้น) คุณจะเห็นข้อผิดพลาด 0x80004005 หรือ 0x80007005 (“การเข้าถึงถูกปฏิเสธ”) เมื่อคุณทำเช่นนั้น

ข้อผิดพลาด regsvr32 0x80004005

วิธีที่ 1: ลงทะเบียน DLLs ผ่าน Context Menu – “runas” verb

เพื่อเพิ่ม ลงทะเบียน คำสั่งในเมนูบริบทที่จะเรียกใช้ Regsvr32.exe คำสั่งภายใต้สิทธิ์ระดับสูง คุณสามารถใช้คำสั่งพิเศษ runas กริยา. นี่คือไฟล์ REG ที่ฉันสร้างขึ้น เพิ่ม runas verb สำหรับประเภทไฟล์ DLL และ OCX ในรีจิสตรีคีย์ต่อไปนี้:

HKEY_CLASSES_ROOT\dllfile\runas.dll HKEY_CLASSES_ROOT\ocxfile\runas
  1. ดาวน์โหลดไฟล์ register_runas.reg และบันทึกลงในเดสก์ท็อป
  2. คลิกขวาที่ไฟล์และเลือกผสาน
  3. คลิก ใช่ เมื่อคุณถูกขอให้ยืนยัน

ตอนนี้คุณควรเห็น ลงทะเบียน (ในฐานะผู้ดูแลระบบ) คำสั่งในเมนูคลิกขวาสำหรับประเภทไฟล์ DLL และ OCX

ลงทะเบียนเมนูบริบท dll regsvr32

วิธีที่ 2: ตั้งค่า Regsvr32.exe ให้เรียกใช้การยกระดับเสมอ

เนื่องจากคุณสามารถใช้กริยา “runas” ได้เพียงรายการเดียว ในการเพิ่มคำสั่ง “Unregister” คุณต้องใช้วิธีอื่นนอกเหนือจากวิธีข้างต้น นี่เป็นอีกวิธีหนึ่งในการเพิ่มคำสั่ง "Register" และ "Unregister" ลงในเมนูบริบทสำหรับไฟล์ DLL โดยไม่ต้องใช้กริยา "runas"

วิธีนี้แนะนำให้ระบบเรียกใช้ Regsvr32.exe ยกระดับเสมอ โดยเพิ่ม a AppCompatFlags\Layers รายการรีจิสทรี และใช้รายการเมนูบริบท "ลงทะเบียน" และ "ยกเลิกการลงทะเบียน" ตามปกติ

ไฟล์ REG

Windows Registry Editor เวอร์ชัน 5.00 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\Windows\\System32\\regsvr32.exe"="~ RUNASADMIN" [HKEY_CLASSES_ROOT\DllFile\Shell\Register] "HasLUAShield"="" [HKEY_CLASSES_ROOT\DllFile\Shell\Register\command] @="C:\\Windows\\System32\\regsvr32.exe \"%1\"" [HKEY_CLASSES_ROOT\DllFile\Shell\Unregister] "HasLUAShield"="" [HKEY_CLASSES_ROOT\DllFile\Shell\Unregister\command] @="C:\\Windows\\System32\\regsvr32.exe -u \"%1\"" [HKEY_CLASSES_ROOT\OcxFile\Shell\Register] "HasLUAShield"="" [HKEY_CLASSES_ROOT\OcxFile\Shell\Register\command] @="C:\\Windows\\System32\\regsvr32.exe \"%1\"" [HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister] "HasLUAShield"="" [HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister\command] @="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""

คัดลอกบรรทัดด้านบนไปที่ Notepad และบันทึกไฟล์ด้วยนามสกุล .reg ดับเบิลคลิกเพื่อ เรียกใช้ไฟล์ .reg. การดำเนินการนี้จะเพิ่มคำสั่ง "Register" และ "Unregister" ลงในเมนูบริบทสำหรับไฟล์ DLL และ OCX

ลงทะเบียนเมนูบริบท dll regsvr32

หากต้องการลบ (เลิกทำ) คำสั่ง Register และ Unregister จากเมนูบริบท ให้ใช้ไฟล์ .reg ต่อไปนี้:

Windows Registry Editor เวอร์ชัน 5.00 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\Windows\\System32\\regsvr32.exe"=- [-HKEY_CLASSES_ROOT\DllFile\Shell\Register] [-HKEY_CLASSES_ROOT\DllFile\Shell\Unregister] [-HKEY_CLASSES_ROOT\OcxFile\Shell\Register] [-HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister]

แค่นั้นแหละ!


คำขอเล็กน้อย: หากคุณชอบโพสต์นี้ โปรดแชร์สิ่งนี้

หนึ่งส่วนแบ่ง "เล็กน้อย" จากคุณจะช่วยอย่างมากในการเติบโตของบล็อกนี้ คำแนะนำที่ดีบางประการ:
  • ขามัน!
  • แชร์ไปยังบล็อกที่คุณชื่นชอบ + Facebook, Reddit
  • ทวีตมัน!
ขอบคุณมากสำหรับการสนับสนุนของคุณผู้อ่านของฉัน จะใช้เวลาไม่เกิน 10 วินาที ปุ่มแชร์อยู่ด้านล่าง :)