我有一个调用vbscript文件的注册表项,如下所示。右键单击.cur文件选择Change Cursor选项时会触发该文件
"C:\Program Files\Cursor Manager\CustomCursor.vbs" "%1" 2
以下是vbs文件(CustomCursor.vbs)
Set objArgs = WScript.Arguments ' Create object.
CusorValue=objArgs(1)
Path=objArgs(0)
MsgBox CusorValue
MsgBox Path
但它不起作用。它没有显示任何消息
当我从命令提示符调用脚本时,正在工作。
"C:\Program Files\Cursor Manager\CustomCursor.vbs" "E:\new\CM v5\cursors new\more\Arrow.cur" 2
如果注册表值是批处理文件,则其工作
"C:\Program Files\Cursor Manager\CustomCursor.cmd" "%1" 2
以下是批处理文件(CustomCursor.cmd)
echo %1
echo %2
pause
但我可以使用批处理文件,因为它会显示一个命令窗口,因为它会在执行脚本时显示命令窗口。
请告诉我一种从注册表执行vbs文件的方法,或者至少在后台运行批处理文件的方法。
谢谢
答案 0 :(得分:6)
将注册表更改为
"%windir%\system32\wscript.exe" "C:\Program Files\Cursor Manager\CustomCursor.vbs" "%1" 2
问题是直接调用脚本文件会使Windows搜索程序执行它并使用脚本作为参数调用相关的可执行文件,但在此过程中,其余参数将被丢弃。称自己为脚本主机,并提供所有必需的参数。