Вам нужно будет добавить протокол в реестр, в HKEY_CLASSES_ROOT
.
В частности, вам необходимо создать следующие ключи:
[HKCR\proto]
@="URL:My Protocol"
"Url Protocol"=""
[HKCR\proto\shell\open\command]
@="Path\To\My\Program.exe '%1'"
Затем открытие proto://122122
приведет к выполнению Program.exe
, и числа будут доступны в $CmdLine[1]
(при условии, что вы используете AutoIt, поскольку вы пометили его таким образом, но вообще не упоминаете об этом).
Редактировать:
Чтобы программно сделать это в AutoIt, вам нужно посмотреть на функции реестра, в частности Регистрация. Выше я поленился и дал ответ в виде .reg
файла, но в AutoIt это выглядит примерно так:
Local $sProtoName = "proto"
RegWrite("HKCR\" & $sProtoName)
RegWrite("HKCR\" & $sProtoName, "", "REG_SZ", "URL:My Protocol")
RegWrite("HKCR\" & $sProtoName, "Url Protocol", "REG_SZ", "")
RegWrite("HKCR\" & $sProtoName & "\shell\open\command")
RegWrite("HKCR\" & $sProtoName & "\shell\open\command", "", "REG_SZ", "Path\To\My\Program.exe '%1'")
Как и во всем, что касается реестра, не делайте этого, если вы не знаете, что делаете. Изменение HKCR относительно безопасно. Худшее, что может случиться, это то, что вы перезапишете какой-то другой протокол, а отменить его довольно сложно, но я все же рекомендую сначала прочитать. Google, как обычно, ваш лучший друг, но с небольшим, как этот наверное хорошая идея.
Чтобы удалить приведенный выше код, просто удалите весь ключ «HKCR\proto».
person
Matt
schedule
02.04.2012