Почему я не могу передать расположение моего правого щелчка программе в качестве аргумента, если я не щелкаю правой кнопкой мыши по объекту?

Мой тест настроен: Windows 10, у меня запущен DebugViewer, и моя программа нечто.exe выведет все полученные аргументы для отладки.

Я установил эти записи реестра в:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\TestYo2]
@="Directory Test"
[HKEY_CLASSES_ROOT\Directory\Background\shell\TestYo2\command]
@="c:\\something.exe %1"

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\txtfile\shell\Try This]
@="Txt Menu"
[HKEY_CLASSES_ROOT\txtfile\shell\Try This\command]
@="c:\\something.exe %1"

РЕЗУЛЬТАТЫ: Когда я щелкаю правой кнопкой мыши по текстовому файлу и выбираю "Txt Menu" из контекстного меню, запускается моя программа и передается путь к файлу в текстовый файл. Расположение текстового файла, по которому я щелкнул правой кнопкой мыши, напечатано для отладки.

Если я щелкну правой кнопкой мыши на фоне открытого каталога и выберу свой "Тест каталога" , появится следующее сообщение: У этого файла нет программы, связанной с ним для выполнения этого действия.Пожалуйста, установите программу или, если она уже установлена, создайте ассоциацию в панели управления программами по умолчанию. Моя программа никогда не запускается.

Что дает?

1 ответ1

0

Итак, решение таково:

Добавьте новый ключ с именем NoWorkingDirectory и оставьте данные пустыми.

В командной строке% 1 становится% V

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

нашел его через это сообщение: оболочка Windows добавляет элемент в контекстное меню при нажатии на пустую часть папки

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .