在我的计算机锁定时,让VBScript正常运行

时间:2015-05-14 20:03:23

标签: batch-file vbscript

我在代码中加了pause来分解它,并确保它正在做它应该做的事情。不是。

Check1.msl会吐出名为check.rpt的文件。当我手动运行它并且批处理文件暂停时 - check.rpt就在那里。我安排任务并锁定我的电脑。当我重新登录时,msl程序打开,cmd提示符暂停,但没有check.rpt文件。

这是我在开始时所拥有的:

@ECHO OFF
PUSHD "%~dp0"

ECHO CD is now %CD%

PING 1.1.1.1 -w 2000 -n 1
echo starting the check1 msl file
DIR Check1.msl
Start Check1.msl

PING 1.1.1.1 -w 2000 -n 1
echo starting the password injector file
WScript //B passwordinjector.vbs

pause
POPD
exit

以下是名为passwordinjector.vbs

的VBScript
set wshshell = wscript.CreateObject("wscript.shell")
wshshell.AppActivate "User Login"
WshShell.SendKeys "Username"
WshShell.SendKeys "{tab}Password"
WshShell.SendKeys "{tab}{enter}"

我试过cscript passwordinjector.vbs无效。

修改

研究(和常识)我发现在计算机被锁定时你无法.SendKeys。我需要一种替代方法将登录信息传递给程序。如何将用户名和密码传递给程序中的提示?

1 个答案:

答案 0 :(得分:1)

如何将登录信息传递给程序取决于特定程序如何预期登录信息。除非你能够在命令行或类似的东西中提供凭证(例如HTTP POST请求),否则我不能用VBScript做到这一点。

您可能需要考虑切换到更适合GUI自动化的内容,例如AutoIt