Добавьте пункт меню к контекстному меню окон только для определенного filetype

у меня есть dveloped применение, которые загружают изображение, используя контекстное меню окна (щелчок правой кнопкой мыши на файле), и в настоящий момент работает, но reg ключ идет

HKEY_CLASSES_ROOT\*

и это работает со всеми файлами.

Я хочу это, пункт меню в контекстном меню должен быть показан только с .jpg файлами.

Whow я могу сделать это? Какие регистрационные ключи я должен использовать?

Заранее спасибо.

40
задан Sein Kraft 23 January 2010 в 16:12
поделиться

1 ответ

1) Определите тип файла (ProgID) для .jpg файлов

Это можно сделать, проверив значение по умолчанию HKEY_CLASSES_ROOT\.jpg. Это может быть что угодно, исходя из того, что вы установили, но для целей этого примера мы назовем его jpegfile, общее значение по умолчанию.

2) Установите свойства элемента (глагола) контекстного меню для этого типа файлов

Вы можете установить для каждого пользователя элементы контекстного меню в HKEY_CURRENT_USER\Software\Classes\jpegfile\shell. Этот ключ имеет список глаголов для типа файла. Аналогичный ключ есть и в HKEY_LOCAL_MACHINE\Software\Classes\jpegfile\shell, и это системные настройки по умолчанию для типа файла. Вы можете поместить туда же клавишу глагола, но если аналогичный ключ существует в HKCU, он будет переопределен, так что будьте внимательны.

3) Установите значение команды

Минимальное значение пустого ключа, которое нужно установить, чтобы он заработал, является значением по умолчанию подклавиши command. Для этого нужно указать путь к вашему приложению: HKEY_CURRENT_USER\Software\Classes\jpegfile\shell\open_with_myapp\command будет установлено значение "c:\path\to\myapp.exe" "%1". Теперь в контекстном меню для .jpg файлов появится пункт "open_with_myapp", который при нажатии будет запускать ваше приложение и передавать в качестве параметра имя файла выбранного файла. Конечно, то, как ваше приложение обрабатывает параметры, зависит от вас, поэтому вам нужно будет установить строку параметра на то, что может обрабатывать ваше приложение.

4) Установка других свойств глагола

Я полагаю, что вы, вероятно, захотите, чтобы в пункте контекстного меню было прочитано что-то более дружественное, чем имя ключа. Вы можете заставить контекстное меню отображать любую метку для вашего пункта, установив значение по умолчанию этой клавиши (open_with_myapp).

Это ваш основной обзор. Определённо смотрите мой ответ на этот вопрос об ассоциировании файла, который имеет похожий ответ:

81
ответ дан 27 November 2019 в 01:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: