问题标签 [autohotkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
721 浏览

windows-7 - 将热键分配给窗口(并记住大小和位置)。AHK

我找到了以下脚本,用于将热键动态分配给已打开的窗口:

(代码是从这个线程复制的http://www.autohotkey.com/forum/topic38773.html&highlight=dynamic+hot+key

使用上面的脚本,您可以:

  1. 使用 Win+Ctrl+0..9热键附加到当前活动窗口。
  2. 使用 Win+0..9切换到对应窗口。

但是,如果我为给定窗口分配了一个热键(使用 Win+Ctrl+0..9),然后我想返回该窗口(Win+0..9),则该窗口将重置为新的尺寸和位置。

有没有办法保存窗口的大小和位置以及它的 ID?

如果是这样,脚本会是什么样子?

我在 Windows 7 64 位上运行上述脚本。

非常感谢,

0 投票
3 回答
6749 浏览

c# - 可以使用 Winkey+L 进行低级键盘挂钩/SendInput 吗?(工作站锁定在 Vista 及更高版本中被拦截)

我从事一个名为UAWKS(非官方 Apple 无线键盘支持)的项目,该项目可帮助 Windows 用户使用 Apple 的蓝牙键盘。UAWKS 的主要目标之一是将Cmd密钥(Winkey在 Windows 中的行为)与交换Ctrl,允许用户执行Cmd+C用于复制,Cmd+T用于新选项卡等。

它目前使用AutoHotkey开发,在 Windows XP 下运行良好。但是,在 Vista 和 Windows 7 上,Cmd+L会导致问题:

  • 无论低级键盘钩子如何,Win+L总是被 Windows 拦截并通常锁定工作站...
  • 您可以使用此注册表 hack禁用工作站锁定,但按Win+L仍然无法在 AHK 中反弹
  • Win+L使 Winkey 处于 Keydown 状态,直到下一个(附加)Winkey Up。模拟 Keyup 事件似乎也不起作用!

似乎Win+L是一个特殊的和弦,它把其他一切都搞砸了。

我查看了 AHK 源代码,他们尝试SendKey()在 keyboard_mouse.cpp 中解决这个问题(在 v1.0.48.05 中的第 883 行附近),但它不起作用。我用 C# 编写了自己的低级键盘挂钩应用程序,我看到了同样的问题。

有没有其他人遇到过这个?有解决方法吗?

0 投票
2 回答
936 浏览

python - 什么是灵活的混合 python 集合对象?

作为习惯 python 的一种方式,我正在尝试将我的一些代码从Autohotkey_L转换为 python 。
我立即遇到大量收集对象的选择。
你能帮我找出一个内置类型或第三方贡献的类型,它尽可能多地具有 AutoHotkey_L对象类型及其方法的功能。

AutoHotkey_L 对象具有 python 字典、列表和类实例的功能。

我知道空间和速度需要权衡,但我只对功能感兴趣,而不是优化问题。

0 投票
1 回答
2684 浏览

listview - 如何使用 Autohotkey 在 ListView 中将复选框设置为选中状态

我正在编写一个需要“检查”和“取消选中”在 listViewControl 中定义的复选框的 Autohotkey 脚本。

我认为这样做的方法是使用 LVM_SETITEMSTATE 参数将 SendMessage 用于列表视图(或者可能是列表视图项目本身?),但我不知道确切的格式......有人知道吗?

我认为 1000 意味着复选框将被选中,而 2000 意味着他将被取消选中。

我需要为每个 ListViewItem 做一个循环吗?

我也曾尝试使用

但它似乎也不起作用。

为了强调这个问题,我不是在创建自己的列表视图,而是在尝试操作现有应用程序 ListView 的状态....(我正在运行安装程序并使用 AutoHotKey 脚本,我按下每个按钮上的下一个按钮的屏幕,但在此屏幕中,我需要先选择所有组件,然后才能移至下一个屏幕)这里有 AutoHotKey 专家吗?

0 投票
2 回答
226 浏览

windows - 在不切换窗口的情况下在后台文本编辑器中记笔记

我正在寻找特定用例的解决方案:

当我在浏览器或 pdf 阅读器上阅读内容时,我想在不切换窗口的情况下做笔记。我想在我的浏览器或 pdf 阅读器上直接输入,但输入的文本应该进入记事本等后台文本编辑器。

这可能吗?

您知道处理此用例的任何现有自动化脚本吗?

0 投票
3 回答
1502 浏览

autohotkey - 用于将扬声器静音一定秒数的 Autohotkey 脚本

我正在尝试使用 Autohotkey 创建一个脚本,该脚本将使计算机的扬声器静音几秒钟。这对于在线观看电视很有用——当涉及到商业广告时,它会给出一条消息,说“节目将在 XX 秒后恢复”。如果它说 30 秒,那么我想点击 Windows-KeyPad3 以指示将扬声器静音 30 秒,然后自动取消静音。

我的主要 autohotkey.ahk 脚本:

还有我的 mute10.ahk 脚本:

但由于某种原因,暂停命令似乎不正确。必须有另一个正确的命令,但我似乎无法在文档中找到它

0 投票
3 回答
3916 浏览

autohotkey - 自动热键映射

我正在尝试使用 AutoHotkey 在我的键盘上映射以下组合键 -

Alt i -> 上箭头 Alt j -> 左箭头 Alt k -> 右箭头 Alt m -> 下箭头

我将以下代码添加到我的 AutoHotkey.ahk 文件中 -

但它不会产生预期的结果。请帮忙!!

0 投票
1 回答
1055 浏览

autohotkey - 关于复杂循环的问题

我正在用 AutoHotKey 编写脚本,但我偶然发现了一个僵局。现在我有一个包含复选框和下拉列表的工作 GUI。该程序是一个用于游戏的宏脚本——用户检查他想在后台运行哪些宏,提交他的选项,程序不断评估各种条件并根据这些条件是否满足来执行命令。每个宏的模板是这样的:

因此宏循环,每 2 毫秒评估一个像素,如果满足 if 语句,则发送输入。

这就是问题所在:对于用户可以检查以在后台运行的每个宏,都有一个不同的像素颜色被精确定位,一个不同的输入被发送,一个不同的坐标要评估。如何制作一个考虑到用户复选框选择的包罗万象的循环?例如,如果 checkBox = 1(选中),我可能是这样的:

但如果用户检查 1 和 2,我也必须评估其他坐标。像这样:

我不想让多个不同的循环一个接一个地运行,因为它太慢了,我不想对所有可能的“if”排列做一个巨大的分支。有人知道该怎么做吗?

0 投票
2 回答
623 浏览

autohotkey - autohotkey 长文本并在虚拟机中

因此,我正在尝试学习自动热键脚本,并且充其量缺少文档。首先,自动热键可以在虚拟机中读取命令并执行操作等吗?我有一个 Windows 主机和一个运行 Eclipse 的 linux 虚拟机。我想获得一个主机环(或键盘宏,两者都可以)来放入一些长(10 多行)的文本。这实际上可以在 VM 中工作,还是我必须在 VM 内运行 autohotkey 才能工作?

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

这工作正常,除了在记事本++中,它连续插入更多标签,所以它看起来像

所以在我的多行宏中,到最后它的几页滚动到屏幕外。

这会产生语法错误,我不知道正确的做法是什么。我应该坚持使用热字串吗?

0 投票
2 回答
3642 浏览

autohotkey - AutoHotKey:热字串变量的?

如何在热字符串函数中调用全局变量。

这有效:

这不会: