Запускать.bat файлы из пользовательского обработчика URL, не показывая окно консоли

Я зарегистрировал пользовательский обработчик URL в Windows, чтобы иметь возможность запускать локальную программу с URL. Следуя документации MSND, я вставил следующие значения в реестр:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TestLaunch]
@="URL:TestLaunch Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\TestLaunch\DefaultIcon]
@="\"c:\\temp\\test.bat\""

[HKEY_CLASSES_ROOT\TestLaunch\shell]

[HKEY_CLASSES_ROOT\TestLaunch\shell\open]

[HKEY_CLASSES_ROOT\TestLaunch\shell\open\command]
@="\"c:\\temp\\test.bat\" %1"

Это работает, но когда я нажимаю TestLaunch: ссылка и запускается командный файл. Я вижу появление консольных окон. Поскольку роль пакетного файла заключается в простом анализе URL-адреса аргумента и запуске другого приложения, я бы хотел, чтобы консоль не появлялась (или, по крайней мере, была минимизирована), даже если это всего лишь доли секунды.

Единственное, что мне пришло в голову, это создание ссылки на командный файл (test.bat.lnk) и установите его как минимум, но это не сработает. Есть другие идеи? Я открыт для альтернативы пакетным файлам, но я хотел бы придерживаться того, что предоставляет Windows

2 ответа

Решение

Вы могли бы использовать VBS?

@="\"WSCRIPT c:\\temp\\test.vbs\" %1"

С помощью

if wscript.arguments.length > 0 then
     wscript.createobject( "WScript.Shell" ).run("app.exe " & wscript.arguments(0))
end if
Другие вопросы по тегам