ฉันจะเพิ่มไอคอนลงในรายการเมนูบริบทที่กำหนดเองใน Windows 7 ได้อย่างไร


9

ที่เกี่ยวข้อง: ฉันจะเพิ่มโปรแกรมในเมนูบริบทของไฟล์ทั้งหมดได้อย่างไร

ฉันสร้างรายการเมนูบริบทที่กำหนดเองแล้วและดูเหมือนว่าจะทำงานกับไฟล์ทุกประเภท - แม้ผ่านลิงค์ทางลัด (การเลือกตัวเลือกที่กำหนดเองของฉันจะทำการดำเนินการบนเป้าหมายทางลัดไม่ใช่ไฟล์. lnk) ตอนนี้ฉันต้องการสร้างไอคอนเพื่อทำให้มันโดดเด่น โปรแกรมป้องกันไวรัสและ Notepad ++ ของฉันดูเหมือนจะสามารถทำสิ่งนี้ได้ดังนั้นฉันจึงรู้ว่าเป็นไปได้ คำถามเดียวคืออย่างไร

คำตอบ:


10

เปิด regedit.exe และค้นหาคีย์ที่คุณสร้างขึ้นสำหรับรายการเมนูที่กำหนดเอง

ตอนนี้สร้างค่าใหม่ String Iconในนั้นและชื่อมัน คลิกสองครั้งและป้อนเส้นทางไปยังไฟล์ไอคอนที่กำหนดเองของคุณ:

C: \ โฟลเดอร์ \ icon.ico

เป็นทางเลือกคุณสามารถใช้ไฟล์ Windows shell32.dll เหมือนในตัวอย่างของฉัน: Registry

ผลลัพธ์:

ไอคอนในเมนูบริบทที่กำหนดเอง

แค่หมายเหตุเพิ่มเติม - ดูเหมือนว่าวิธีนี้ใช้ได้กับ Windows 7 (และอาจเป็น Vista) แต่ไอคอนไม่ปรากฏขึ้นเมื่อฉันทดสอบบน Windows XP


ขอบคุณสำหรับคำตอบและการทดสอบบน XP ฉันจะต้องให้สิ่งนี้ในภายหลังวันนี้ นอกจากนี้ฉันสังเกตเห็นว่าวิธีการของคุณดูเหมือนจะแตกต่างเล็กน้อยจากคำตอบของคำถามก่อนหน้านี้ (ดูลิงค์ในคำถามนี้) ในคำตอบก่อนหน้าข้อความสำหรับรายการเมนูบริบทจะถูกเก็บไว้ในชื่อคีย์ ในของคุณมันถูกเก็บไว้ในค่าสตริงภายในคีย์ มีเหตุผลจริงหรือไม่ที่แตกต่าง?
Iszi

@Iszi - ไม่แน่ใจว่ามีความแตกต่างที่แท้จริงหรือไม่ ฉันเพิ่งพบตัวอย่างเช่น
Siim K

1
ดูเหมือนว่าคุณพูดถูกมันไม่ทำงานบน XP ฉันไม่สามารถนึกได้ว่าทำไมมันถึงไม่ได้เนื่องจาก AV และ Notepad ++ ของฉันยังมีไอคอนอยู่ ดูเหมือนว่าพวกเขามีฟังก์ชั่นครอบคลุมอยู่ภายใต้HKCR\*\shellex\ContextMenuHandlersและฉันไม่สามารถเริ่มถอดรหัสด้วยตัวเองว่าทำงานอย่างไรคีย์เหล่านั้น
Iszi

ผ่านการทดสอบและใช้งานได้ใน Windows 7 ฉันจะดำเนินการต่อและโพสต์ XP เป็นคำถามอื่น
Iszi

2
@ luochen1990 เป็นหมายเลขดัชนี - ไอคอนใดที่ใช้จาก. dll นี่คือตารางสำหรับ shell32.dll ที่มีไอคอนและดัชนีที่เกี่ยวข้อง: help4windows.com/windows_7_shell32_dll.shtml
Siim K

4

... และหากคุณต้องการคุณสามารถใช้ไอคอนเริ่มต้น / เดียวกันกับที่โปรแกรมของคุณ (ไฟล์ exe) ใช้งานอยู่

ใช้สิ่งที่ต้องการด้านล่างนี้เป็นเนื้อหาของIconค่าสตริงที่ @Slim K ชี้ให้คุณเห็นในคำตอบของเขา:

"C:\Path\to\YourProgram.exe",0

Sublime Text 3 ไม่ได้ใช้ไอคอนสำหรับตัวเลือกเมนูตามบริบท ดังนั้นฉันจึงเพิ่มIconค่าสตริงด้วยเนื้อหาที่คุณเห็นในภาพหน้าจอ

1

2


หมายเลข '0' ที่ตามหลังเส้นทางหมายถึงอะไร
luochen1990

@ luochen1990 ตามที่ระบุไว้ในคำตอบที่ยอมรับโดย Siim K มันเป็นหมายเลขดัชนีของไอคอนในไฟล์ DLL ในกรณีนี้จำนวนศูนย์เป็นไอคอนแรกใน DLL คุณสามารถอ่านเพิ่มเติมเกี่ยวกับระบบหมายเลขนี้ได้ที่นี่
Christian Sirolli
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.