标签: autohotkey

AutoHotkey:将 CAPS LOCK 分配给 ALT-TAB 的问题

昨天我问我如何禁用或重新分配臭名昭著的 CAPS LOCK 键。接受的答案将我指向AutoHotkey,这是一个功能强大的免费开源实用程序,用于 Windows 自动击键和鼠标点击。

该工具包括一个脚本语言,甚至一个编译器(!),它似乎工作得很好。例如,我设法在 Windows Vista 中使用此脚本将鼠标中键映射到 ALT-TAB 组合键:

MButton::AltTabAndMenu
return
Run Code Online (Sandbox Code Playgroud)

现在,我想做同样的事情,将 CAPS LOCK 键重新分配给 ALT-TAB:

CapsLock::AltTabAndMenu
return
Run Code Online (Sandbox Code Playgroud)

但这并没有达到预期的效果。它没有显示“ALT TAB”正在运行的应用程序菜单,而是显示了 Vista 开始菜单,就像我按下了 WIN 键一样。

有什么建议?

windows keyboard autohotkey hotkeys

5
推荐指数
1
解决办法
3326
查看次数

条件热键或包含在 AutoHotKey 中

有没有办法在 AutoHotKey 中有条件地定义热键?我想为不同物理键盘的不同机器做不同的键盘映射。

这就是我想要做的:

RegRead, ComputerName, HKEY_LOCAL_MACHINE, System\CurrentControlSet\Control\ComputerName, ComputerName
If ( ComputerName = BDWELLE-DIM8300 ) 
{
 #Include %A_ScriptDir%\Mappings-BDWELLE-DIM8300.ahk
}
Run Code Online (Sandbox Code Playgroud)

或者

RegRead, ComputerName, HKEY_LOCAL_MACHINE, System\CurrentControlSet\Control\ComputerName, ComputerName
If ( ComputerName = BDWELLE-DIM8300 ) 
{
 LWin::LAlt
    [more hotkey definitions that only apply to this machine]
}
Run Code Online (Sandbox Code Playgroud)

但是由于 AHK 在解释 If 语句之前解析 Hotkey 定义和 #Include 语句,因此 Hotkeys 定义(无论是否隐藏在 #Include 中)不尊重 If 条件。

感谢您将我指向 AutoHotKey_L!

您是否有关于如何有条件地定义热键的具体示例?语法非常混乱。这是我正在尝试的(在安装 AutoHotKey_L.exe 代替 AutoHotKey.exe 之后):

RegRead, ComputerName, HKEY_LOCAL_MACHINE, System\CurrentControlSet\Control\ComputerName, ComputerName 
#If ( ComputerName = BDWELLE-DIM8300 ) 
LWin::LAlt 
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用......

windows remapping autohotkey

5
推荐指数
1
解决办法
3217
查看次数

如何让 AutoHotKey 删除 web 字段中的文本?

我已经看到了很多信息(这里和其他地方),关于一旦用户选择文本,您就可以让 AutoHotkey 处理文本,但是有没有办法让 AHK 脚本选择文本本身?

我正在编写一个脚本来将文本输入到 Web 表单字段中,我需要该脚本来选择该字段中已有的任何文本并将其删除。

我看过ControlGet但这似乎只适用于您可以获得控件名称的对话框,这意味着它不适用于 Web 字段。有任何想法吗?

script autohotkey windows-xp

5
推荐指数
1
解决办法
4499
查看次数

我可以使用 AutoHotkey 在相同类型的窗口之间切换吗?

我知道如何创建一个 AutoHotkey 脚本来切换到(比如说)一个 Firefox 窗口。

但是假设我打开了许多 Firefox 窗口。我希望每次按下该键时都切换到下一个窗口。

编辑- firefox 只是一个例子。它可能是我想要的 PuTTY 窗户。

autohotkey

5
推荐指数
1
解决办法
4777
查看次数

是否有卸载 USB 驱动器的命令行(或自动热键)方法?

我发现根据我的喜好,卸载 USB 驱动器需要点击太多鼠标。是否有命令行方式(XP 和 Vista)?

此外,我的眼睛状况使手鼠标协调变得困难,因此任何没有太多点击的建议都将被低估,因为它没有回答我的问题。

但是我经常使用 AutoHotkey,一个用例是从 AHK 脚本调用它。因此,如果有一种方法可以在 AHK 中对其进行编码。将此添加到标签中。

进一步的问题 - 当计算机是 a 时移除磁盘是否安全。在待机或 b。冬眠了。我记得如果你从休眠的机器上拉出一个磁盘,W2000 就会得到 uspet。或者最好在休眠或待机之前明确卸载或同步 - 可能是在脚本中。

windows usb mount autohotkey usb-flash-drive

5
推荐指数
1
解决办法
4463
查看次数

如何使用 AutoHotKey 执行 Outlook 2010 宏?

发现无法将自定义键盘快捷键绑定到我为 Outlook 2010 编写的宏后,我转向 AutoHotKey 并有一个可行的解决方案,但它很笨拙。这是一个脚本,我还有两个执行不同的宏。

#IfWinActive, Inbox
^!1::
Send, {ALTDOWN}{F8}{ALTUP}
WinWaitActive, ahk_class #32770, Macros, 0
Send, ActionSelectedMessages{ALTDOWN}r{ALTUP}
return
Run Code Online (Sandbox Code Playgroud)

它发送 Alt-F8 打开宏对话框,等待窗口打开,然后发送宏的名称,然后发送宏的名称,然后发送 Alt-R 以运行它。这有效,但随着对话框的打开和关闭而缓慢且丑陋。

所以我的问题是,是否有任何方法可以从 AutoHotKey 执行 Outlook 宏,而不会像此解决方案那样造成任何界面副作用?

autohotkey macros microsoft-outlook-2010

5
推荐指数
1
解决办法
1万
查看次数

如何在 AutoHotKey 中将 Capslock+{?} 重新映射到 Ctrl+Alt+Shift+{?}?

我想重新映射Caps Lock键以发送Ctrl+ Alt+ Shift,但我还想发送我在它之后按下的任何键。

例如,如果我按Caps Lock+t然后我想AHK送Ctrl+ Alt+ Shift+t 同样,如果我按Caps Lock+j然后我想送Ctrl+ Alt+ Shift+ j

以下不起作用,因为它在我按下任何尾随键之前发送它。(我这样做,所以我可以映射快捷键Ctrl+ Alt+ Shift+ [key],并使用Caps Lock键来执行它们。

Capslock::send {^~+}
Run Code Online (Sandbox Code Playgroud)

autohotkey

5
推荐指数
1
解决办法
8256
查看次数

AutoHotKey 不适用于 Synergy?

当按下组合键时,我可以使用 AutoHotKey 发送一些字符。问题是 AutoHotKey 似乎不适用于使用 Synergy。

这是真的?我的意思是,AutoHotKey 是否与 Synergy 一起使用?

这个帖子中,我了解了 AutoIt。如何使用 AutoIt AHK 方式?我的意思是,我如何分配一个组合键来发送一些字符序列?

synergy autohotkey

5
推荐指数
1
解决办法
1159
查看次数

Autohotkey 热字符串将 w94 扩展到宽度:94px;?

鉴于 w 后面的数字可能是可变长度,我该怎么做?autohotkey 热字符串是否支持正则表达式或变量模式匹配?

我目前有 w 扩展到 width:px 并且光标位于 px 之前。

:oR0:w::width:px;{left 3}

autohotkey

5
推荐指数
1
解决办法
363
查看次数

使用 Magic Trackpad 时如何在 Windows 中捕获鼠标事件?

我一直在试图弄清楚如何从触控板上“捕捉”三指和四指滑动以将自定义键盘命令绑定到它们。我认为也可以以同样的方式禁用点击点击。

我的想法是使用Autohotkey来捕捉信号并将动作(或不动作)绑定到该鼠标输入。问题是默认驱动程序不会将此信息传递给系统。

有谁知道如何从系统获取原始输入到 Windows 中 Autohotkey 的鼠标信号?某些应用程序、DLL 或其他什么?

这些代码来自我能够从 Magic Trackpad 捕获的默认 Autohotkey:

VK  SC  Type    Up/Dn   Elapsed Key
02  000     d   1.22    RButton         
02  000     u   0.00    RButton         
9E  001     d   2.15    WheelDown       
9E  001     d   0.03    WheelDown       
9F  001     d   1.22    WheelUp         
9F  001     d   0.02    WheelUp         
9D  001     d   1.83    WheelRight      
9D  001     d   0.00    WheelRight      
9C  001     d   1.22    WheelLeft       
9C  001     d   0.02    WheelLeft       
Run Code Online (Sandbox Code Playgroud)

使用上面的 WheelLeft 函数,我使用 Autohotkey 中的以下函数创建了两个手指滑动的后退按钮:

WheelLeft::
 winc_presses = 1 …
Run Code Online (Sandbox Code Playgroud)

windows autohotkey magic-trackpad

5
推荐指数
1
解决办法
2190
查看次数