Bagaimana saya bisa menambahkan ikon ke item menu konteks kustom saya di Windows 7?

9

Terkait: Bagaimana saya bisa menambahkan program ke menu konteks semua file?

Saya telah membuat item menu konteks khusus saya, dan tampaknya berfungsi pada semua jenis file - bahkan melalui tautan pintasan. (Memilih opsi khusus saya melakukan operasi pada target pintasan, bukan file .lnk.) Sekarang, saya ingin membuat ikon untuk membuatnya menonjol. Program antivirus saya dan Notepad ++ sepertinya sudah bisa melakukan ini, jadi saya tahu itu mungkin. Satu-satunya pertanyaan adalah, bagaimana caranya?

Iszi
sumber

Jawaban:

10

Buka regedit.exe dan temukan kunci yang Anda buat untuk item menu khusus.

Sekarang buat nilai String baru di dalamnya dan beri nama Icon. Klik dua kali dan masukkan path ke file ikon kustom Anda:

c: \ folder \ icon.ico

Secara opsional, Anda dapat menggunakan file Windows shell32.dll seperti dalam contoh saya: Daftar

Hasil:

Ikon di menu konteks khusus

Hanya catatan tambahan - sepertinya metode ini berfungsi pada Windows 7 (dan mungkin Vista) tetapi ikonnya tidak muncul ketika saya uji pada Windows XP.

Siim K
sumber
Terima kasih atas jawabannya, dan pengujian pada XP. Saya harus mencoba ini hari ini. Juga, saya perhatikan metode Anda tampaknya sedikit berbeda dari jawaban untuk pertanyaan saya sebelumnya. (Lihat tautan dalam pertanyaan ini.) Di jawaban sebelumnya, teks untuk item menu konteks disimpan dalam nama kunci. Di Anda, itu disimpan dalam nilai string di dalam kunci. Adakah alasan praktis untuk perbedaan itu?
Iszi
@ Iszi - tidak yakin apakah ada perbedaan nyata. Saya kebetulan menemukan contoh seperti itu
Siim K
1
Sepertinya Anda benar karena tidak berfungsi pada XP. Saya tidak bisa memikirkan mengapa tidak, karena AV dan Notepad ++ saya masih memiliki ikon. Mereka tampaknya memiliki fungsi mereka tercakup di bawah HKCR\*\shellex\ContextMenuHandlers, dan saya tidak bisa mulai menguraikan sendiri bagaimana kunci-kunci itu bekerja.
Iszi
Diuji dan berfungsi di Windows 7. Saya akan melanjutkan dan memposting XP sebagai pertanyaan lain.
Iszi
2
@ luochen1990 Ini adalah nomor indeks - ikon dari .dll yang digunakan. Berikut adalah tabel untuk shell32.dll dengan ikon dan indeks yang sesuai: help4windows.com/windows_7_shell32_dll.shtml
Siim K
4

... Dan Jika Anda mau, Anda dapat menggunakan ikon default / sama yang sudah digunakan oleh program Anda (file exe).

Cukup gunakan sesuatu seperti di bawah ini sebagai konten dari Iconnilai string Anda yang @Slim K tunjukkan dalam jawabannya:

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

Sublime Text 3 tidak menggunakan ikon untuk opsi menu konteksnya. Jadi saya menambahkan Iconnilai string dengan konten yang Anda lihat di tangkapan layar.

1

2

orang bodoh
sumber
apa arti angka '0' mengikuti jalan?
luochen1990
@ luochen1990 sebagaimana disebutkan dalam jawaban yang diterima oleh Siim K, itu adalah nomor indeks ikon dalam file DLL. Dalam hal ini, angka nol adalah ikon pertama di DLL. Anda dapat membaca lebih lanjut tentang sistem penomoran ini di sini
Christian Sirolli