Запускать.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
Некоторые обходные пути можно найти здесь:
https://superuser.com/questions/62525/run-a-completly-hidden-batch-file
Запустите программу из командной строки, не открывая новое окно
http://www.tomshardware.co.uk/forum/245566-45-batch-file-window-poping