无法从Windows注册表中运行vbs文件

3

我有一个注册表键,可以调用下面的vbscript文件。当从右键单击.cur文件并选择“更改光标”选项时,它将被触发。

"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文件的方法,或者至少一种在后台运行批处理文件的方法。

谢谢。

1个回答

6

修改注册表为:

"%windir%\system32\wscript.exe" "C:\Program Files\Cursor Manager\CustomCursor.vbs" "%1" 2

问题在于直接调用脚本文件会让Windows寻找要执行的程序并将相关可执行文件作为参数调用,但在此过程中其余参数被丢弃。请自行使用所有必需的参数调用脚本主机。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接