Мне нужен не дополнительный пункт, а дополнительное меню как на скриншотеmadmasles сказал(а):gilgul
А конкретнее можно, какой пункт контекстного меню Вам нужен, и какое действие по этому пункту.
можно подробнее?Garrett сказал(а):Можно. Для этого, необходимо прописаться в реестре.
У вас какая версия Windows?gilgul сказал(а):можно подробнее?Garrett сказал(а):Можно. Для этого, необходимо прописаться в реестре.
Про Fast Explorer знал, но как использовать догадаться не мог, , спасибо!CreatoR сказал(а):Обычной правкой реестра тут не обойстиль.
Я для этой цели использую внешний модуль Fast Explorer (рус.). Как оно интегрируется в AutoIt можно посмотреть в моей утилите Toggle Hidden Files & Files Extension .
Для этого нужно назначить несколько разных пунктов, в реестре на папки и на файлы это разные ветки. Почитай документацию к Fast Explorer, там должно быть сказано как это сделать.при вызове его на какой-нибудь папке или файле в названии пункта было имя папки или файла
На ней не тестировалось.ОС: Windows Vista
Должны появится пункты в меню проводника (меню по «Shift + F10» к примеру).никаких изменений в меню не заметил
Должны появится пункты в меню проводника (меню по «Shift + F10» к примеру).
А что мешает обновить её в программе?Старые версии Fast Explorer на висте также не работают, только новая
;Проверяем есть ли параметры командной строки (передаются системой при выборе пункта)
$message = "Выбран "
If $CmdLine[0] <> 0 Then
Switch $CmdLine[1]
Case "-folder"
$message &= "каталог: "
Case "-drive"
$message &= "диск: "
Case "-file"
$message &= "файл: "
Case "-txtfile"
$message &= "текстовый файл: "
EndSwitch
MsgBox(0,"", $message & $CmdLine[2])
Else
;Проверяем интеграцию в меню
If RegRead("HKCR\Directory\shell\Для каталога\command", "") = "" Then
If MsgBox(32 + 1, "", "Добавить пункты в контекстное меню?") = 2 Then Exit
;Собственно добавление пунктов меню:
RegWrite("HKCR\Directory\shell\Для каталога\command", "", "REG_SZ", @ScriptDir & '\testmenu.exe -folder "%1"')
RegWrite("HKCR\Drive\shell\Для диска\command", "", "REG_SZ", @ScriptDir & '\testmenu.exe -drive "%1"')
RegWrite("HKCR\*\shell\Для всех файлов\command", "", "REG_SZ", @ScriptDir & '\testmenu.exe -file "%1"')
RegWrite("HKCR\txtfile\shell\Для текстового файла\command", "", "REG_SZ", @ScriptDir & '\testmenu.exe -txtfile "%1"')
Else
If MsgBox(32 + 1, "", "Удалить пункты из контекстного меню?") = 2 Then Exit
RegDelete("HKCR\Directory\shell\Для каталога")
RegDelete("HKCR\Drive\shell\Для диска")
RegDelete("HKCR\*\shell\Для всех файлов")
RegDelete("HKCR\txtfile\shell\Для текстового файла")
EndIf
EndIf
RegWrite("HKCR\txtfile\shell\Для текстового файла", "MUIVerb", "REG_SZ", "Открыть ->")
RegWrite("HKCR\txtfile\shell\Для текстового файла", "Icon", "REG_SZ", @WindowsDir & "\write.exe")
RegWrite("HKCR\txtfile\shell\Для текстового файла", "SubCommands", "REG_SZ", "notepad;wordpad")
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell\notepad", "", "REG_SZ", "В блокноте")
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell\wordpad", "", "REG_SZ", "В wordpad-e")
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell\notepad", "icon", "REG_SZ", @WindowsDir & "\notepad.exe")
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell\wordpad", "icon", "REG_SZ", @ProgramFilesDir & "\Windows NT\Accessories\wordpad.exe")
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell\notepad\command", "", "REG_SZ", @WindowsDir & '\notepad.exe "%1"')
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell\wordpad\command", "", "REG_SZ", @ProgramFilesDir & '\Windows NT\Accessories\wordpad.exe "%1"')