autohotkey 插入长文本并在虚拟机中使用

autohotkey 插入长文本并在虚拟机中使用

我在 stack overflow 上问过这个问题,但我猜 autohotkey 与编码关系不大。所以我希望在这里问是可以的

所以我正在尝试学习 autohotkey 脚本,但文档非常匮乏。首先,authotkey 可以在虚拟机中读取命令并执行操作等吗?我有一个 Windows 主机和一个运行 eclipse 的 Linux 虚拟机。我想获取一个 hostring(或键盘宏,两者都可以)来输入一些长文本(10 行以上)。这在 VM 中真的可以工作吗?还是我必须在 VM 中运行 autohotkey 才能使其工作?

至于实现这一点,我有两个问题。首先,如何从键盘宏显示多行文本?我知道 Send 命令,但我还不知道它是如何工作的。我有这个:

:*:插入::
文本至
  插入
       到此处
 更多详情请点击此处

除了在 notepad++ 中,这个功能运行良好,它会连续插入更多标签,所以它看起来像这样。我没有在 eclipse 中测试它,因为我无法让它识别我的 VM 中的键。

文本至
    插入
         到此处
             更多内容请点击此处

因此,在我的多行宏中,最后会有几页滚动出屏幕。

至于键盘宏,将上面的内容更改为

#C::
发送{Raw}(
东西
   发送
返回

这会导致语法错误,我不知道正确的做法是什么。我应该继续使用热字符串吗?

答案1

所有这些自动化的东西都与主机操作系统有关。如果你想要自动化或在主机和 VMware 之间进行通信,你必须使用不同的解决方案,例如自定义 Web 应用程序或客户端-服务器应用程序(例如命令和控制服务器)。我会在 Linux 中使用脚本作为 cron 作业。该脚本将每 10 秒检查一次 Web 服务器/应用程序 URL。并执行主机操作系统 Web 服务器给出的命令。

答案2

authotkey 可以在虚拟机内部读取命令并执行操作等吗?
我必须在 VM 内部运行 autohotkey 才能使其工作吗?

AutoHotkey 仅适用于 Windows,因此您必须在 Windows 中运行它。如果您的 Linux 虚拟机在 Windows 桌面上显示为窗口,则 AutoHotkey 可能能够成功向其发送击键。您可能需要尝试 Send 命令的不同版本(SendInput、SendPlay、SendEvent)。

如何通过键盘宏显示多行文本?
[...]这会出现语法错误,我不知道正确的做法是什么。

使用括号的正确方法是

#C::
发送{Raw}stuf
   发送
返回

还有其他方法可以使用热键发送多行文本。

相关内容