Debugging VBScript并显示输入框

Debugging VBScript并显示输入框,debugging,scripting,vbscript,Debugging,Scripting,Vbscript,我正在编写一个脚本来捕获登录时间。在最终产品中,不会有任何用户的输入。然而,我正在测试它,我想知道如何添加额外的代码来确定它 如果其处于“调试”模式,并且 登录的用户是我(假设我的用户名是名为EXAMPLE的域中的joe.smith) 然后提供一个输入框,让我输入登录的日期和时间 所有其他用户将永远不会看到这一点,它将捕获今天的系统时间 我还想隐藏代码,这样如果脚本是由错误的人打开的,他们将无法了解正在发生的事情。我认为您可以检查属性App.LogMode以查看是否处于“调试”模式。如果为0,则

我正在编写一个脚本来捕获登录时间。在最终产品中,不会有任何用户的输入。然而,我正在测试它,我想知道如何添加额外的代码来确定它

  • 如果其处于“调试”模式,并且
  • 登录的用户是我(假设我的用户名是名为EXAMPLE的域中的joe.smith)
  • 然后提供一个输入框,让我输入登录的日期和时间

    所有其他用户将永远不会看到这一点,它将捕获今天的系统时间


    我还想隐藏代码,这样如果脚本是由错误的人打开的,他们将无法了解正在发生的事情。

    我认为您可以检查属性
    App.LogMode
    以查看是否处于“调试”模式。如果为0,则运行调试模式;如果为1,则不运行调试模式。

    大多数问题听起来可以通过脚本的逻辑解决

    有一个命令行参数(debug是一个合适的名称),然后在代码中有一些if逻辑来执行您希望的操作(显示输入框)

    对于代码混淆,我不知道如何在vbscript中实现。不过,Windows脚本主机也可以与JavaScript配合使用,而且web上有很多工具可以让JS更难阅读。也许你想用JS看起来像个

    嗯,,
    Matt

    您可以使用命令行参数将脚本设置为调试模式,例如

    dim isdebug: isdebug = WScript.Arguments.Named.Exists("debug")
    WScript.Echo("in debug mode: " & isdebug)
    
    您可以使用

    wscript debugscript.vbs /debug
    
    要获取当前用户名,可以使用或对象

    拥有用户名后,您可以有条件地抛出一个
    输入框
    ,并收集返回的值:

    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
    

    最后,要混淆代码,您可以使用,尽管Vista或Windows 7似乎不支持。不管怎么说,谷歌搜索这个短语似乎确实有一些成功之处。

    谢谢@Jean Francois-我等不及手机浏览器能像桌面浏览器一样获得拼写检查功能了!;-)