PureBasic


ContMenuFiles

Назначение

Настройка контекстного меню файлов (ассоциации, значки).




Взаимосвязанные

ContMenuFiles

Отличие

Версия ContMenuFiles на AutoIt3
  1. Создавалась во времена WindowsXP, поэтому многие вещи могут не работать на современных версиях Windows, например "Обновить кэш иконок".
  2. Здесь используется качественная библиотека для экспорта данных реестра.
Версия ContMenuFiles на PureBasic
  1. Автоматически добавляет иконку пункту меню.
  2. Если файл не зарегистрирован, то он определяется как неизвестный "Unknown" (см. строку состояния) и тут недостаток нужно следить куда добавляется пункт меню, так как это будет наполнять раздел "Unknown", вместо-того чтобы регистрировать расширение и задавать ему prog_id.
  3. Добавлен внешний файл SetUserFTA для регистрации с подсчётом контрольной суммы.

Описание

Как пользоваться программой:
  1. В списке слева выбираем тип файла, в списке справа появляется пункту меню связанные с этим расширением файла.
  2. Кидаем *.exe или *.lnk файл в окно программы, это сопровождается заполнением полей, которые будут добавлены в реестр: командная строка, имя пункта и раздел реестра.
  3. Нажимаем кнопку Добавить и пункт появляется в списке ниже. Теперь можно проверить что пункт появился и в меню проводника для этого типа файла.
  4. После изменений рекомендуется выполнить "Группы ➜ Выполнить SetUserFTA для всех, это сгенерирует хеш, чтобы Windows согласился с вашими настройками, иначе он для каждого изменённого типа файла по разу спросит действительно ли вы хотите использовать эту программу для открытия этого файла.
А теперь детали:
  1. Так как неудобно добавлять одну и ту же программу для десятка однотипных расширений, то делаем групповое действие "Группы ➜ Добавить пункт в группу, это добавит пункт меню для всех файлов в группе. Для этого нужно сначала выбрать любое расширение из группы, чтобы программа добавила именно в эту группу.
  2. Сменить иконку - сделать клик на кнопке с иконкой, откроется диалог выбора dll в которой можно выбрать иконку. Далее нажать "Меню ➜ Обновить кеш иконок, но делать это лучше после смены нескольких иконок, так как излишне обновлять кеш после каждой иконки. Также нажмите Обновить дерево, чтобы видно было изменение иконок в дереве, при этом изменение иконок может произойти для нескольких файлов, если у них одинаковый ProgID, например для htm и html файлов.
  3. У обоих списков есть контекстное меню, которое позволит вам дополнительные действия:
  4. Осталось 3 пункта:
  5. Обращайте внимание на ProgID, чтобы не добавлять меню для Unknown, так как это универсальный тип не ассоциированного файла, меню которого появляется для не ассоциированных файлов, проще говоря файлов без иконок. Добавьте в это меню Hex-редактор и вы всегда будете по наличию этого пункта замечать, что это раздел Unknown.
  6. При добавлении пункта меню в группу файлов тип Unknown игнорируется, поэтому смело можно использовать групповое добавление команд, без необходимости в дальнейшем чистить раздел Unknown.
  7. Настройки ini-файла