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

时间:2014-05-25 10:56:26

标签: windows batch-file vbscript registry

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

谢谢

1 个答案:

答案 0 :(得分:6)

将注册表更改为

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

问题是直接调用脚本文件会使Windows搜索程序执行它并使用脚本作为参数调用相关的可执行文件,但在此过程中,其余参数将被丢弃。称自己为脚本主机,并提供所有必需的参数。