Зачастую, возможностей стандартного контекстного меню файлов не хватает для различных задач пользователей. В Windows 2000/XP можно добавить еще пару пунктов, которые заложены в самой операционной системе, но по умолчанию не включены.
В реестре Windows существует два раздела {C2FBB630-2971-11d1-A18C-00C04FD75D13} и {C2FBB631-2971-11d1-A18C-00C04FD75D13}, которые отвечают за копирование и перемещение файлов в Windows. Эти две возможности, Копировать в папку и Переместить в папку, можно включить в контекстное меню файлов.
Эти два пункта вызывают стандартное окно для копирования или перемещения файла, пользоваться которыми порой гораздо удобнее, чем открывать отдельное окно с нужным каталогом, а потом перетаскивать в него файлы.
Чтобы включить новые пункты в контекстное меню надо создать разделы и параметры в реестре:
для копирования: установить значение по умолчанию равным {C2FBB630-2971-11d1-A18C-00C04FD75D13} в разделе HKCR\*\shellex\ContextMenuHandlers\Copyto
для перемещения: установить значение по умолчанию равным {C2FBB631-2971-11d1-A18C-00C04FD75D13} в разделе HKCR\*\shellex\ContextMenuHandlers\Moveto
В этом случае пункты меню появятся у всех файлов и папок. Чтобы добавить их только в файлы с конкретным расширением, надо добавлять записи в раздел shellex этих файлов. Так, для текстовых файлов это будет выглядеть таким образом:
для копирования
[HKCR\txtfile\shellex\ContextMenuHandlers\Copyto]
@="{C2FBB630-2971-11d1-A18C-00C04FD75D13}"
для перемещения
[HKCR\txtfile\shellex\ContextMenuHandlers\Moveto]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"
Изначально раздела shellex там нет. Надо создать его и все подразделы самостоятельно.