从自定义URL处理程序启动.bat文件,而不显示控制台窗口

时间:2014-03-18 10:33:45

标签: windows url batch-file cmd

我在Windows中注册了自定义URL处理程序,以便能够从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 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)