Копировать как путь в контекстном меню Windows - PullRequest
0 голосов
/ 25 мая 2010

Я пытаюсь реализовать опцию «Копировать как путь» в контекстном меню Windows, которая копирует текущий путь к файлу или папке в буфер обмена вместо того, чтобы устанавливать программное обеспечение для этого, я хотел бы реализовать это сам. Есть предложения?

Ответы [ 3 ]

1 голос
/ 25 мая 2010

Вам нужно написать собственное расширение пространства имен оболочки . Пример того, как сделать это с помощью C # , доступен здесь . Есть много примеров того, как сделать это на C ++ в Интернете.

Официальная документация по теме доступна на MSDN. Специальная статья на эту тему: Создание обработчиков контекстного меню .

1 голос
/ 25 мая 2010

Вы можете добавить ссылку в контекстное меню, перетаскивая диалог File Types или используя реестр. В реестре путь HKEY_CLASSES_ROOT\*\shell. Добавьте ключ с именем «Копировать как путь» и ключ с именем «команда». Измените строковое значение команды по умолчанию на «c: \ your-program.exe% 1», и когда пользователь выберет «Копировать как путь», он запустит ваш исполняемый файл с этим путем в качестве аргумента. Теперь вашему исполняемому файлу просто нужно записать переданный ему путь в буфер обмена

0 голосов
/ 03 декабря 2018
Windows Registry Editor Version 5.00

;Scripted by Jeff Hollis
;(https://stackoverflow.com/users/10572786/slyfox1186)
;To edit this script manually using hex(2) you must utilize OTConvertIt.exe
;(http://www.geekstogo.com/forum/files/file/404-otconvertit)
;or equivalent to decipher hex(2) into "Windows Registry Editor Version 5.00" aka ASCII or vice versa.
;REG_EXPAND_SZ is the only type of registry entry that will work entirely for this
;particular type of context menu item.

;%%%%%%%%%%%%%%%% COPY PATH NO QUOTES %%%%%%%%%%%%%%%%

;hex(2) below deciphers as:
;cmd /c <nul (set/p var="%1")|clip
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Copy Path No Quotes]
"Icon"="imageres.dll,-5302"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Copy Path No Quotes\command]
@=hex(2):63,00,6D,00,64,00,20,00,2F,00,63,00,20,00,\
  3C,00,6E,00,75,00,6C,00,20,00,28,00,73,00,65,00,74,00,2F,00,70,00,20,00,\
  76,00,61,00,72,00,3D,00,22,00,25,00,31,00,22,00,29,00,7C,00,63,00,6C,00,\
  69,00,70,00,00,00

;hex(2) below deciphers as:
;cmd /c <nul (set/p var="%V")| clip
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy Path No Quotes]
"Icon"="imageres.dll,-5302"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy Path No Quotes\command]
@=hex(2):63,00,6D,00,64,00,20,00,2F,00,63,00,20,00,\
  3C,00,6E,00,75,00,6C,00,20,00,28,00,73,00,65,00,74,00,2F,00,70,00,20,00,\
  76,00,61,00,72,00,3D,00,22,00,25,00,56,00,22,00,29,00,7C,00,20,00,63,00,\
  6C,00,69,00,70,00,00,00

;%%%%%%%%%%%%%%%% COPY PATH WITH QUOTES %%%%%%%%%%%%%%%%

;hex(2) below deciphers as:
;cmd /c <nul echo|set/p var=""%1""|clip
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Copy Path With Quotes]
"Icon"="imageres.dll,-5302"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Copy Path With Quotes\command]
@=hex(2):63,00,6D,00,64,00,20,00,2F,00,63,00,20,00,\
  3C,00,6E,00,75,00,6C,00,20,00,65,00,63,00,68,00,6F,00,7C,00,73,00,65,00,\
  74,00,2F,00,70,00,20,00,76,00,61,00,72,00,3D,00,22,00,22,00,25,00,31,00,\
  22,00,22,00,7C,00,63,00,6C,00,69,00,70,00,00,00

;hex(2) below deciphers as:
;cmd /c <nul echo|set/p var=""%V""|clip
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy Path With Quotes]
"Icon"="imageres.dll,-5302"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy Path With Quotes\command]
@=hex(2):63,00,6D,00,64,00,20,00,2F,00,63,00,20,00,\
  3C,00,6E,00,75,00,6C,00,20,00,65,00,63,00,68,00,6F,00,7C,00,73,00,65,00,\
  74,00,2F,00,70,00,20,00,76,00,61,00,72,00,3D,00,22,00,22,00,25,00,56,00,\
  22,00,22,00,7C,00,63,00,6C,00,69,00,70,00,00,00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...