我在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提供的功能
最佳答案
您可以使用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