我正在编写一个脚本来捕获登录时间。在最终的制作中,任何用户都没有输入。但是我正在测试它,我想知道如何添加额外的代码来确定
然后出现一个输入框,允许我输入登录的日期和时间。
所有其他用户永远不会看到这一点,它将在今天捕获系统时间。
我还想隐藏代码,所以如果脚本被错误的人打开,他们就无法做出正面或反面的事情。
答案 0 :(得分:3)
您可以使用命令行参数Matt says将脚本设置为调试模式,例如
dim isdebug: isdebug = WScript.Arguments.Named.Exists("debug")
WScript.Echo("in debug mode: " & isdebug)
您可以使用
调用wscript debugscript.vbs /debug
要获取当前用户名,您可以使用WMI Service或WScript.Network
对象。
获得用户名后,您可以有条件地提出InputBox
并收集返回的值:
dim date_: date_ = Now()
if isdebug and username = "me" then
dim value: value = CDate(InputBox("enter the date and time (dd/mm/yyyy hh:mm:ss)", "please", Now()))
' validate the input here
date_ = CDate(value)
end if
最后,为了混淆你的代码,你可以使用Scripting.Encoder
,虽然看起来似乎在Vista或Windows 7上似乎不支持。在Google上搜索似乎有一些点击{无论如何,{3}}。
答案 1 :(得分:1)
大多数听起来都可以通过脚本的逻辑来解决。
有一个命令行参数(debug是一个合适的名字)然后在代码中有一些if逻辑可以按你的意愿去做(显示输入框)。
对于代码混淆,我不知道如何在vbscript中完成此操作。 Windows脚本主机也可以使用JavaScript,但网上有很多工具可以让JS更难阅读。也许你想看看使用JS ......
HTH, 马特
答案 2 :(得分:0)
我认为您可以检查属性App.LogMode
以查看您是否处于'调试'模式。如果它是0,那么你正在运行调试模式,如果它是1你就不是。