В записи «Добавить в контекстное меню значок программы» я описал способ, с помощью которого можно было добавить в контекстное меню значок, чтобы кроме названия пункта меню, был ещё и её значок:
Для одного из своих скриптов я добавил в контекстное меню файлов .exe скрытый пункт «Exit Setup Mode». Поскольку это был скрипт на PowerShell, то значок я решил взять из файла shell32.dll. Открыл это файл в программе IconsExtract, нашёл нужный значок, записал его индекс (240):
После этого добавил этот индекс в реестр с помощью строки "C:\Windows\System32\shell32.dll",240:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\exitsetupmode]
"Extended"=""
@="Exit Setup Mode"
"icon"="\"C:\\Windows\\System32\\shell32.dll\",240"
Но я получил не тот значок, который был под индексом 240:
Я подумал, что может индексация идёт не с 1, а с 0, поэтому вписал вместо 240 число 239… Значок изменился, но это опять был не тот, который нужен был мне.
Я всё же победил эту проблему, хотя пришлось обратиться к создателю этой утилиты.
Выяснилось, что индекс для значка нужно указывать в ОТРИЦАТЕЛЬНОМ значении. То есть в моем случае это будет «-240»:
"icon"="\"C:\\Windows\\System32\\shell32.dll\",-240"
Теперь так, как нужно:
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024