Проводник Windows: Как создать дополнительную кнопку? - PullRequest
0 голосов
/ 29 января 2010

Проводник Windows 7 использует новую голубую панель с кнопками, такими как «Организовать», «Поделиться», «Новая папка» и т. Д.

Как мне создать новую кнопку? Нужно ли создавать плагин для explorer.exe, и если, как мне это сделать (с помощью Visual Studio .NET)?

Или это простой ключ реестра, который мне нужно установить, который указывает на exe или bat?

Спасибо заранее и наилучшими пожеланиями

1 Ответ

3 голосов
/ 30 января 2011

Это ключ реестра, но не все так просто. Вы должны сделать несколько шагов, чтобы добавить одну кнопку.

Возможно, вы заметили, что проводник Win7 настраивает свою панель инструментов в соответствии с отображаемым содержимым. Например, кнопки, показанные для папок панели управления, отличаются от кнопок для документов или папки музыкальной библиотеки. Вы можете найти большой список папок разных типов в разделе реестра

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes

Нажмите на каждый UID, показанный там, чтобы узнать, для какого типа он предназначен. Например, здесь вы видите запись для папок в общем типе библиотеки: generic library type, registry keys

Итак, первое, что вам нужно сделать, это найти тип папки, для которой вы хотите добавить свою собственную кнопку.

Как только вы нашли правильный UID, вам, возможно, придется вступить во владение этими ключами. В противном случае вы не сможете изменить их: Щелкните правой кнопкой мыши по этому ключу и выберите Permisssions ...

  1. Нажмите кнопку «Дополнительно».
  2. Откройте вкладку Владелец.
  3. В разделе «Изменить владельца» выберите «Администраторы».
    Нажмите Применить и убедитесь, что для «Текущий владелец» задано значение «Администраторы» Нажмите кнопку ОК, чтобы сохранить изменения.
  4. Вернувшись в диалоговое окно «Разрешения», нажмите «Администраторы», а затем нажмите (чтобы проверить это) Полный доступ
  5. Нажмите кнопку ОК, чтобы сохранить настройки и закрыть диалоговое окно.

Следующим шагом является создание ключей и значений, необходимых для вашей собственной кнопки:

  • Добавить новый ключ, TasksItemsSelected
  • Добавить новый ключ, TasksItemsSelected\0
  • Создайте новый GUID (используйте guidgen.exe) для вашей команды.
  • добавить ключ TasksItemsSelected\0\<yourguid>, затем добавить строки Title и InfoTip и присвоить им соответствующие значения. Здесь также можно установить значок, используя строку Icon со значением, указывающим на файл значка.
  • Добавить ключи TasksItemsSelected\0\<yourguid>\shell\InvokeTask\command
  • в качестве значения по умолчанию для клавиши управления, введите команду, которую хотите выполнить.

Теперь ваша запись в реестре должна выглядеть примерно так: title and infotip command

При выполнении команды она получит как минимум два значения параметра.

  %1 -- The path of the folder that was being displayed
  %2 -- The pathname of the file that was selected.

Если вы выберете более одного файла до нажатия кнопки mycommand, то последующие имена файлов будут в последующих параметрах.

И последнее, но не менее важное: если вы хотите добавить собственную кнопку для ситуаций, когда ничего не выбрано, сделайте все, как указано выше, но используйте ключ реестра TasksNoItemsSelected вместо TasksItemsSelected

...