如何在热串中逐行发送一条挡路文字? [英] How to send a block of text line-by-line in a hotstring?

查看:22
本文介绍了如何在热串中逐行发送一条挡路文字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含多行的文本块,希望将其逐行发送到chap app。我想做这样的手术:

  1. 我输入一个热串触发器(比如hotstringtrigger),AutoHotKey会发送第一行(文字应该留在聊天APP的输入框中)
  2. 我会根据需要对其进行编辑
  3. 我按Enter键。聊天应用程序将发送文本,AutoHotKey将发送下一行
  4. 返回到%2,直到没有更多行
  5. 回车后行为正常,直到再次键入hotstringtrigger

到目前为止,我的尝试是将其拆分成多个热串:

:*:hotstringtrigger::first line
:*:hotstringtrigger2::second line
:*:hotstringtrigger3::third line
...

但这有一些缺点:

  • 使用多个热串
  • 有额外的按键

此页似乎未包含此内容:Hotstrings - Definition & Usage | AutoHotkey

推荐答案

我想非常简单直接的例子可能是这样的

TextToSend := "
(
first line
second line 
)"
 
lines := StrSplit(TextToSend, "`n", "`r")
 
 
:*T:hotstringtrigger::
    SendInput,
    (
    Hello ____________________. Welcome to the World^{Home}{right 6}
    )
    
    i := 1
return
 
~Enter::
    if (!i || i > lines.length())
        return
    
    SendInput, % "{Text}" lines[i]
    i++
return
在这里,只需将输入文本键入continuation section,并在脚本启动时从那里加载到array。当运行所需的热串时,索引i将被重置。

然后按Enter,文本将从数组发送,直到我们的索引i大于输入字符串中的行长。

如果您的输入文本有很长的行,您应该首先将这些行加载到剪贴板,然后只需发送Ctrl+v

这篇关于如何在热串中逐行发送一条挡路文字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆