См. Статью Microsoft Регистрация приложения для использования с программами по умолчанию .
Или, увидев, что у вас установлен WinSCP, проверьте, что WinSCP делает для регистрации себя в качестве ftp://
обработчика :
[HKEY_CLASSES_ROOT\WinSCP.Url]
@="WinSCP URL"
"URL Protocol"=""
"EditFlags"=dword:00000002
"BrowserFlags"=dword:00000008
[HKEY_CLASSES_ROOT\WinSCP.Url\DefaultIcon]
@="\"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe\",0"
[HKEY_CLASSES_ROOT\WinSCP.Url\shell]
[HKEY_CLASSES_ROOT\WinSCP.Url\shell\open]
[HKEY_CLASSES_ROOT\WinSCP.Url\shell\open\command]
@="\"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe\" /Unsafe \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Martin Prikryl\WinSCPCapabilities]
"ApplicationDescription"="WinSCP is a popular free SFTP and FTP client for Windows, a powerful file manager that will improve your productivity. It supports also Amazon S3, FTPS, SCP and WebDAV protocols. Power users can automate WinSCP using .NET assembly."
[HKEY_LOCAL_MACHINE\SOFTWARE\Martin Prikryl\WinSCPCapabilities\UrlAssociations]
"ftp"="WinSCP.Url"
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"WinSCP"="Software\\Martin Prikryl\\WinSCPCapabilities"
И сделать аналогичную вещь для FileZilla.
Чтобы все вышеперечисленное работало, вам все равно нужно ftp
зарегистрировать протокол в HKEY_CLASSES_ROOT\ftp
. Но у вас уже есть это.
Обратите внимание, что FileZilla не поддерживает URL-адреса, указывающие на файл. Только URL, указывающие на каталог. WinSCP поддерживает оба.
filezilla [<FTP URL>]
где может быть URL[protocol://][user[:pass]@]host[:port][/path]
. Это работает из командной строки в моих тестах. Используя ваш шаблон, я создал и зарегистрировал файл Filezilla.URL (но не изменился в настройках диалога