Я видел:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
Что это за первый раздел, где вы видите http
и тому подобное?
Могу ли я зарегистрироваться самостоятельно?
Я видел:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
Что это за первый раздел, где вы видите http
и тому подобное?
Могу ли я зарегистрироваться самостоятельно?
Ответы:
Часть с HTTP://
, FTP://
и т. Д. Называется схемами URI
Вы можете зарегистрировать свой собственный через реестр.
HKEY_CLASSES_ROOT/
your-protocol-name/
(Default) "URL:your-protocol-name Protocol"
URL Protocol ""
shell/
open/
command/
(Default) PathToExecutable
Источники: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml , http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
(Default)
здесь означает пустую строку. Не воспринимайте это буквально.
Откройте блокнот и вставьте в него код ниже. Измените «YourApp» на имя вашего приложения. Сохраните его в YourApp.reg и выполните его, нажав на него в проводнике. Это оно! Ура! Эрвин Хаантес
REGEDIT4
[HKEY_CLASSES_ROOT\YourApp]
@="URL:YourApp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\YourApp\DefaultIcon]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\""
[HKEY_CLASSES_ROOT\YourApp\shell]
[HKEY_CLASSES_ROOT\YourApp\shell\open]
[HKEY_CLASSES_ROOT\YourApp\shell\open\command]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\" \"%1\" \"%2\" \"%3\" \"%4\" \"%5\" \"%6\" \"%7\" \"%8\" \"%9\""
Это отличается для каждого браузера, в IE и Windows вам нужно создать то, что они называют подключаемым обработчиком протокола.
Основные шаги заключаются в следующем:
Посмотрите Об Асинхронных Сменных Протоколах на MSDN для получения дополнительной информации на стороне Windows. Существует также образец в Windows SDK.
Быстрый Google также показал эту статью на codeproject: http://www.codeproject.com/KB/IP/DataProtocol.aspx .
Наконец, как сотрудник службы безопасности, я должен указать, что этот код должен быть усилен в бою. Это связано с высокой степенью риска, потому что для надежного выполнения этого вы не можете сделать это в управляемом коде и должны делать это в C ++ (я полагаю, вы могли бы использовать VB6). Вы должны подумать, действительно ли вам нужно это делать, и если вы это сделаете, тщательно продумайте его и надежно закодируйте. Злоумышленник может легко контролировать передаваемый вам контент, просто включив ссылку на страницу. Например, если у вас простое переполнение буфера, тогда никто не сделает этого:<a href="custom:foooo{insert long string for buffer overflow here}"> Click me for free porn</a>
Настоятельно рекомендуем использовать strsafe и новые безопасные методы CRT, включенные в компиляторы VC8 и выше. Видеть http://blogs.msdn.com/michael_howard/archive/2006/02/27/540123.aspx, если вы не знаете, о чем я говорю.
Вот список зарегистрированных схем URI . У каждого есть RFC - документ, определяющий его, который является почти стандартом. RFC сообщает разработчикам новых приложений (таких как браузеры, FTP-клиенты и т. Д.), Что им необходимо поддерживать. Если вам нужен новый протокол базового уровня, вы можете использовать незарегистрированный протокол. Другие ответы скажут вам как. Пожалуйста, имейте в виду, что вы можете многое сделать с существующими протоколами, таким образом получая свои существующие реализации.
Для большинства продуктов Microsoft (Internet Explorer, Office, диалоговые окна «открыть файл» и т. Д.) Вы можете зарегистрировать приложение, которое будет запускаться при открытии URI с соответствующим префиксом. Это часть более общего объяснения - как реализовать собственный протокол.
Это называется протокол. Единственное, что мешает вам составить собственный протокол, это то, что вы должны:
Windows делает № 1 действительно простым, и во многих случаях это все, что вам действительно нужно. Viz:
Первый раздел называется протоколом, и да, вы можете зарегистрировать свой собственный. В Windows (где я предполагаю, что вы делаете это с помощью тега C # - извините фанатов Mono), это делается через реестр .
Протокол?
Я нашел это, похоже, локальная настройка для компьютера ...
Вам действительно не нужно регистрироваться как таковые. Я видел много программ, таких как emule, которые создают свой собственный протокол (это, как я думаю, называется). После этого вам просто нужно установить некоторые значения в реестре относительно того, какая программа обрабатывает этот протокол. Я не уверен, есть ли официальный реестр спецификаторов протокола. На самом деле ничто не мешает вам создать свой собственный спецификатор протокола для вашего собственного приложения, если вы хотите, чтобы люди открывали ваше приложение из своего браузера.