如何使用VBS在消息框上按“确定”时停止循环?

2024-01-01

我想为我玩的视频游戏编写一个机器人来打字。

set sellAllTyping = wscript.CreateObject("WScript.Shell")

x= MsgBox ("To stop the bot, click OK. /// Coded by Vncz with a little help from StackOverflow! :^) RIP Yams ;-;",vbOK+vbInformation,"sell all Bot")

if x=vbOK then 
' *** I don't know what to write here. ***

sellAllTyping.sendkeys "t"
wscript.sleep 1000
sellAllTyping.sendkeys "/sell all"
wscript.sleep 1000
sellAllTyping.sendkeys "{ENTER}"
wscript.sleep 5000
loop

如果我在调用的消息框中按“确定”,我希望循环位于最底部。如果我做得正确的话,我应该编写什么代码来代替注释?


不幸的是,msgbox 冻结了执行。

换句话说,您不能在消息出现的时刻和单击“确定”或“取消”的时刻之间循环。

实现此目的的唯一方法是制作如下 HTA 文件:

<SCRIPT LANGUAGE="VBScript" src="test.vbs"> </SCRIPT>
<input type='button' value='Start' onclick='startLoop()'>
<input type='button' value='Stop' onclick='stopLoop()'>

然后,在链接的 vbs 文件(本例中为 test.vbs)上,您必须编写如下内容:

set sellAllTyping = CreateObject("Wscript.shell")
loopState = true

sub startLoop()
    do while loopState = true
        msgbox "yeah"
    loop
end sub

sub stopLoop()
    loopState = false
end sub

现在唯一的问题是应用程序由于循环而冻结(如果我用 sendkeys 替换 msgbox)或始终隐藏在 msgbox 后面。

这段代码运行良好(具有睡眠功能):

set sellAllTyping = CreateObject("Wscript.shell")
loopState = true

sub startLoop()
    do while loopState = true
        msgbox "yeah"
        sleep(2)
    loop
end sub

sub stopLoop()
    loopState = false
end sub

Sub sleep (Timesec)
  sellAllTyping.Run "Timeout /T " & Timesec & " /nobreak" ,0 ,true
End Sub

确保将 hta 文件命名为“something.hta”而不是“something.html”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用VBS在消息框上按“确定”时停止循环? 的相关文章

  • .vbs 文件可以是预定脚本吗?

    我编写了一个 vbs 脚本 目前由用户手动运行 如何在 Windows XP 和 Windows 7 上第一次手动执行此脚本时 在任务计划程序中自行安排该脚本 在每天的固定时间自动运行 EDIT Option Explicit Dim oS
  • 用于运行 VBS 脚本的 VB GUI 界面

    我有一个 VBS 脚本 需要每月运行一次 它捕获文件信息 例如文件名 类型 修改日期等 当我处理每个文件时 它会将其全部保存到 CSV 文件中 以便我可以在 Excel 上处理它 为了运行脚本 我设置了一个批处理文件 bat 问题是我需要某
  • 从ini文件中读取数据

    我有一个需要输入文件名的 vbscript 代码是 Dim tsout Set tsout gofs CreateTextFile C csv Dim tsin Set tsin gofs OpenTextFile C csv 我该如何配置
  • 自动打开、更新和保存 Excel 工作簿

    我想在Excel中自动修改列的数字格式 Set excel CreateObject Excel Application Set oWB excel Workbooks Open E Docs Invoice csv Excel Macro
  • 在 VBS 中使用环境变量的值时出现问题

    我是 VBScript 新手 编写了一个可以修改 XML 文件的小脚本 但我在将计算机名称放入 XML 时遇到问题 我从以下位置获取了计算机名称HOST使用这些行的环境变量 Set wshShell CreateObject WScript
  • VBScript 条件短路解决方法

    我有一个必须维护的大型经典 ASP 应用程序 并且我多次发现自己因缺乏短路评估能力而受挫 例如 VBScript 不会让你逃脱 if not isNull Rs myField and Rs myField lt gt 0 then 因为如
  • 暗淡和公共有什么区别?

    今天提出了一个关于范围的问题 这引起了我的思考 我一直了解 VBScript 范围以及如何声明全局和本地 我突然想到我从来没有使用过Public变量但倾向于使用Dim相反 在全局声明时 据我了解Dim是相同的Public 但如果是这样的话
  • 如何为命令 net user 在列表中返回的每个用户运行批处理文件?

    我的目标是制作一个通用代码 循环遍历计算机中的所有用户帐户名称并将输出发送到批处理文件 net user 命令输出用户列表 但我想将每个用户名分配给一个参数 所以我应该使用for f命令去做 这可能看起来很简单 但请记住用户名可能在任何位置
  • 由 VBScript 运行的 xPath 中的未知方法

    错误消息是 msxml3 dll 未知方法 Record CelloXml Integration Case ServiceEvent gt last 我的代码如下所示 错误出在案例上NEW Case OLD可以很好地配合 0 在那里 On
  • VB错误“需要对象”

    当我运行以下脚本时 我在第 54 行 最后一行 收到 需要对象 错误 怎么了 Option Explicit Dim cmdString g strHostFile filepath flexnetpath importcmd dtmTod
  • 为什么根据检索顺序从 ADO Recordset 中获取空值而不是正确值? (DB表有NTEXT值)

    我有一个数据库表有两个datetime我需要使用 VBScript 从 ASP 页面读取可为空的列 这是我写的代码 Set cmd Server CreateObject ADODB Command With cmd ActiveConne
  • VBScript 中的对象/类字典

    vbscript 中是否可以有对象 类的字典 例如 Class employeeclass Public first last salary End Class Dim employeedict Set employeedict Creat
  • 从命令行使用 VBScript 从 Excel 外部运行 Excel 宏

    我正在尝试从 Excel 文件外部运行 Excel 宏 我目前正在使用从命令行运行的 vbs 文件 但它一直告诉我找不到宏 这是我尝试使用的脚本 Set objExcel CreateObject Excel Application Set
  • 等待程序完成

    为了监视带宽使用情况并且不要在启动时加载不必要的程序 我想先执行dumeter exe 然后执行firefox exe 当我关闭firefox时 它应该杀死dumeter 我使用以下代码启动 Set WshShell WScript Cre
  • 使用 VBScript 重命名 IIS 中的虚拟目录?

    如何使用 VBScript 重命名 IIS 6 0 7 0 中的虚拟目录 或 Web 应用程序 如果您只想更改 IIS 7 中的站点名称 编辑applicationHost config文件 该文件可以在以下位置找到c Windows Sy
  • 我对一些小概念感到困惑

    我对 VBscript 非常陌生 正在努力学习所有概念 在我的实践过程中 我一直有一个疑问 dim a b c set a CreateObject scripting filesystemobject initiate the file
  • VBScript:从 Scripting.Dictionary 中对项目进行排序

    我有下面的代码 它获取这样的数据 姓名 1 姓名 4 姓名 2 姓名 3 并像这样列出 是一个复选框 姓名 1 姓名 4 姓名 2 姓名 3
  • 如何设置任务在使用 vbs 登录时以当前用户身份运行而无需管理员权限?

    从命令行 我可以创建一个在登录时运行的计划任务 无需管理员权限或用户输入密码来设置任务 但是我必须使用 xml 文件来执行此操作 下面是一个示例 xml 其中 Domain User 部分必须在运行时替换为当前用户的域和名称
  • 在vbscript中读取文本文件的某一行

    有没有办法使用 vbscript 读取文本文件的某一行并将其存储为变量 谢谢 试试这个例子 Option Explicit Dim ws MyFile Set ws CreateObject WScript Shell MyFile Win
  • 无法从 vbs 脚本使用 smtp.gmail.com、端口 587 发送邮件

    我正在尝试使用 vbs 脚本发送邮件 但它不起作用 我正在使用服务器 smtp gmail com 和端口 587 奇怪的是 当我将端口更改为 25 时 它会起作用 下面是我正在使用的代码 SMTPMail to cc TEST TEST

随机推荐

  • 使用 consteval 代替 constexpr 函数有哪些优点?

    我知道需求的差异 我最感兴趣的是它带来的代码质量带来的好处 我能想到的几件事 读者只需阅读函数签名即可知道该函数是在编译时评估的 编译器可能会发出更少的代码 因为constevalfns 在运行时从不使用 这是推测 我没有这方面的真实数据
  • 数据库中什么是半连接?

    我在尝试理解半连接的概念以及它与传统连接的不同之处时遇到了麻烦 我已经尝试过一些文章 但对解释不满意 有人可以帮助我理解它吗 简单的例子 让我们使用左外连接选择成绩的学生 SELECT DISTINCT s id FROM students
  • 如何使用回调函数在 TypeScript 中保留词法范围

    我有一个 TypeScript 类 其中有一个我打算用作回调的函数 removeRow this MyClass void this is now the window object I must use this to get the c
  • Windows Python (<=3.10.2) 无法运行 `python -m venv .venv`

    此问题已解决 并向 Python org 提交了错误报告 看看我的下面自我回答 https stackoverflow com a 71041562 4516027寻求解决方法 直到在未来版本的 Python 中修复为止 我的一台电脑被这个
  • LIBGDX 创建主菜单

    所以我想为我的游戏创建一个主菜单 但我不知道下一步该做什么 我已经完成了所有的艺术工作 并且全部分层并打包在 pack 中 public class MainMenu implements Screen CrazyZombies game
  • 使用比较器的意外输出

    我有以下程序 import java util public class Test public static void main String args Integer array 3 1 4 1 5 9 Arrays sort arra
  • MYSQLi真实转义函数显示换行符和回车符

    我有一个文本区域 当我尝试通过 MYSQLi 真实转义函数和 nl2br 进行转义和清理时 简单的输出给了我奇怪的结果 我的PHP代码 the odd输出是 i love this r n r nand this is gonna be f
  • Angularfire2,startAfter() 不适用于分页

    根据 firebase 文档 这是如何做到的 var first db collection cities orderBy population limit 25 return first get then function documen
  • 改进分配器算法实现的建议

    我有一个 Visual Studio 2008 C 应用程序 其中使用标准容器的自定义分配器 以便它们的内存来自内存映射文件而不是堆 该分配器用于 4 种不同的用例 104字节固定大小结构std vector lt SomeType MyA
  • python多处理中父进程全局变量如何复制到子进程

    乌班图20 04 我对python中不同子进程访问全局变量的理解是这样的 全局变量 假设b 可用于写时复制能力的每 个子进程 如果子进程修改了该变量 则复制b首先创建该副本 然后修改该副本 此更改对父进程不可见 稍后我将就这部分提出问题 我
  • 不明确的规则定义了“T...”的类型

    以下测试之一不起作用 为什么 public class SortedInterfacesTest private static final Logger log LoggerFactory getLogger SortedInterface
  • 在AWS EC2 Linux实例上安装Chrome时出错:未找到scaling_cur_freq和scaling_max_freq

    我正在尝试在 AWS EC2 实例上安装 Chrome 与 Chromedriver selenium 一起使用 但出现了以前从未见过的错误 我能够一致地重现 但在谷歌上找不到任何关于该怎么做的信息 重现步骤 启动新的 EC2 实例 Ama
  • 棘手的选择语句

    我有一个包含类别的表 每个类别都有一个 ID 一个名称和一个 ParentID 问题是有3个级别 父类别 子类别和子类别 我可以用一个简单的方法提取父类别SELECT and a WHERE ParentID IS NULL条款如下 SEL
  • 在 json 中找不到 json.net 必需的属性

    我正在使用 Json net 我得到了一个类如下 public class RecordAlias JsonProperty PropertyName eId Required Required Always public string E
  • 将 C++11 数组与 Cython 连接

    我习惯于构建 C 程序并在 Cython 中获取它 但在这里我试图获取 C 11array这绝对行不通 这是我的 pxd cdef extern from
  • 如何使用 autograd 查找最小/最大点

    假设我们有一个简单的函数 y sin x 2 如何使用 autograd 查找一阶导数值为 0 的所有 X s 下面的代码可以找到一阶导数为零的点 然而 根据随机初始化 它只能找到一个点 如果您想找到所有点 您可以尝试在某些所需的网格上迭代
  • 如何绕过或使 PHP json_decode 不改变我的非常大的整数值?

    所以我在 WAMP 环境中使用 php 5 2 6 我正在尝试使用 json decode 函数将 json 字符串放入数组中 JSON 来自其他地方的 REST API 因此我无法控制 JSON 字符串的格式 这是我尝试使用的 json
  • 从加权集中按权重顺序生成长度 L 的前 N ​​个组合

    我有一组带有权重的字母 这给出了它们出现在字符串中的概率 a 0 7 b 0 1 c 0 3 z 0 01 因此 这个词aaaa有一个概率0 7 0 7 0 7 0 7 0 24 这个单词aaac会有概率0 7 0 7 0 7 0 3 0
  • 根据.htaccess中的环境变量使用RewriteCond

    我试图在 htaccess 文件中定义一个环境变量 然后使用该变量运行重写条件 以下是我的 htaccess 文件中的内容 但重写不起作用 RewriteEngine on set to live or maintenance SetEnv
  • 如何使用VBS在消息框上按“确定”时停止循环?

    我想为我玩的视频游戏编写一个机器人来打字 set sellAllTyping wscript CreateObject WScript Shell x MsgBox To stop the bot click OK Coded by Vnc