Почему запись в реестре не дает нужный результат?

Рейтинг: 0Ответов: 2Опубликовано: 26.03.2011

В чём ошибка?

[HKEY_CLASSES_ROOT\*\Shell]
@="C:\Documents and Settings\Admin\Мои документы\Rnote_\Rnote.exe"
[HKEY_CLASSES_ROOT\*\Shell\notepad]
@="Open with Rnote2"

[HKEY_CLASSES_ROOT\*\Shell\notepad\Command]
@="C:\Documents and Settings\Admin\Мои документы\Rnote_\Rnote.exe"

При включении (занесении) регистра в базу, файлы открываются через "Обзор", а не программой, в контекстном меню Windows.

Ответы

▲ 2Принят

Все правильно, не хватает передачи имени файла через %1

[HKEY_CLASSES_ROOT\*\Shell]
@="C:\Documents and Settings\Admin\Мои документы\Rnote_\Rnote.exe"
[HKEY_CLASSES_ROOT\*\Shell\notepad]
@="Open with Rnote2"

[HKEY_CLASSES_ROOT\*\Shell\notepad\Command]
@="C:\Documents and Settings\Admin\Мои документы\Rnote_\Rnote.exe %1"

Лучше notepad замените на rnote. Иначе, при добавлении дополнительных пунктов, запутаетесь.

▲ 2

В разделе HKEY_CLASSES_ROOT\ *\ Shell\ создать раздел с любым названием, скажем Command1 (значение строкового параметра "Команда 1"), в этом разделе создать раздел Command. Значение строкового параметра задать равным вашей команде.

Например, чтобы создать команду "Открыть блокнотом" строка следующая:

HKEY_CLASSES_ROOT\ *\ Shell\ Command1\ Command = "Notepad "%1""