Мне нужно реализовать что-то похожее на этот ответ https://stackoverflow.com/a/41749105/1004374, но у меня есть несколько проблем.Я немного его изменил, чтобы можно было передавать аргументы в URL:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>openie</title>
</head>
<body>
<h1>Hello world!</h1>
<a href="openie:https://www.google.com/">Google1</a>
<a href="openie:https://www.google.com/?word=abc&word2=abc2">Google2</a>
</body>
</html>
и изменять скрипт reg:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\openie]
"URL Protocol"="\"\""
@="\"URL:OPENIE Protocol\""
[HKEY_CURRENT_USER\Software\Classes\openie\DefaultIcon]
@="\"explorer.exe,1\""
[HKEY_CURRENT_USER\Software\Classes\openie\shell]
[HKEY_CURRENT_USER\Software\Classes\openie\shell\open]
[HKEY_CURRENT_USER\Software\Classes\openie\shell\open\command]
@="cmd /k set myvar= & call set myvar=\"%1\" & call set myvar=%%myvar:openie:=%% & call \"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" %%myvar%% & exit /B"
Единственное обновление - экранирование аргумента% 1:
myvar=\"%1\
Это необходимо для передачи аргументов с &.В противном случае будет скопирован URL до первого амперсанда:
openie:https://www.google.com/?word=abc&word2=abc2
Все в порядке, когда вы нажимаете на ссылку в первый раз.Когда IE уже открыт, URL-адрес неправильно копируется с закодированными кавычками внутри него и автоматически добавляется http в начале:
http://%22https//www.google.com/?word=abc&word2=abc2"
Я понимаю, что проблема со скриптом cmd внутри, но не могу угадать, что нужно изменить, чтобы иметь возможностьпередавайте аргументы и нажимайте ссылки много раз.