我正在尝试制作一个简单的脚本,当我使用诸如 ^B 或 ^T 之类的热键时,它会为我编写简短的语句。问题是当它自己打字时,它会激活另一个热键,然后在它之后直接开始,所以我留下了一个双句。
^b::
hello, I am AutoHotKey.
^t::
What can I do for you?
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,“AutoHotKey”将触发第二个脚本,因为其中包含“t”并且它比不再按住控制键的输入速度更快。
有没有办法让一个功能独占,这样它就不能触发其他功能,或者我必须有完全不同的热键?
我正在尝试使用此脚本同时发送三个键(Alt、Shift、Q):
:*:pk:: ;
Send, {AltDown}{ShiftDown}{qDown}
return
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它不会释放按键,似乎 Alt 按钮保持按下状态。按下上述键后,我想再次按下“q”字符(单独,不同时)。
如何修改上面的脚本以实现此目的?
参考问题Windows 7 Map CTRL + j to the Down Arrow Key
如何像vim一样使用AutoHotKey映射箭头键?
Ctrl+h = Move left
Ctrl+j = Move down
Ctrl+k = Move up
Ctrl+l = Move right
Run Code Online (Sandbox Code Playgroud) 我是自动热键的初学者。
我想要制作脚本来检查我是否写了“:)”,然后它替换为这个“”(web.whatsapp 中的表情符号)我不知道是否可以使用 GetKeyState 因为在我的键盘中我需要 Shift+dot 来表示“: " 和 ")" 的 Shift+9。
我很抱歉我的英语不好。希望你能理解。:)
谢谢你。
有效的代码(感谢 Forivin)
:::)::
clipSave := ClipboardAll
Clipboard := "" ;
Send, ^v
Clipboard := clipSave
Return
:::D::
clipSave := ClipboardAll
Clipboard := "" ;
Send, ^v
Clipboard := clipSave
Return
Run Code Online (Sandbox Code Playgroud) 使用^w::MsgBox, 100%返回值:
该参数缺少变量名。
但没有标志的同一条线也%有效。如何修复它?
我在运行我的脚本时遇到问题。我终生无法弄清楚非法字符是什么。
我试过将字符串连接放在不同的行上,但我得到了同样的错误。我试过用OneDateandTwoDate代替Date_1and Date_2,也无济于事。我已经更新了 AHK,但没有解决。
我应该注意,我同时使用MonthCal和DateTime Gui控制来获取这些日期,然后使用FormatTime. 我注意到的另一个错误可能提供了一个线索,即无论我在日期控件中选择什么日期,我都会得到2017-Sep-01输出。可能没有来自控件的值,并且 FormatTime 函数使用今天的日期,因为它尝试处理的变量为空/不存在。
除此之外,通常我喜欢在我的问题中更具描述性,但在这种情况下,我想我只能说:“帮助?”
我在 AutoHotkey 中有一个字符串数组,其中包含重复的条目。
nameArray := ["Chris","Joe","Marcy","Chris","Elina","Timothy","Joe"]
Run Code Online (Sandbox Code Playgroud)
我想删除所有重复项,以便仅保留唯一值。
trimmedArray := ["Chris","Joe","Marcy","Elina","Timothy"]
Run Code Online (Sandbox Code Playgroud)
理想情况下,我正在寻找一个类似于Trim()的函数,它将返回修剪后的数组,同时保持原始数组完好无损。(IE trimmedArray := RemoveDuplicates(nameArray))
如何从 AutoHotkey 数组中删除重复项?
当我在 Chrome 中双击一个单词时,我想模拟一个“查找”操作。
我设法做到了这一点:
~LButton::
SetTitleMatchMode, 2
#IfWinActive, ahk_class Chrome
If (A_TimeSincePriorHotkey<400) and (A_TimeSincePriorHotkey<>-1)
{
SendInput ^c
Sleep, 10
SendInput ^f
Sleep, 10
SendInput ^v
}
Return
Run Code Online (Sandbox Code Playgroud)
但它甚至可以在非 Chrome 进程中运行(当双击一个单词时)
题:
如何仅在 chrome 中双击时才能运行此脚本?
我想从午夜开始以毫秒为单位获取当前时间。
我不知道这是否可能?
我知道A_TickCount给出了计算机重新启动后的毫秒数。
我的目标是重新映射;(分号)到 Control + k。但是,这不起作用,因为;开始评论而不是被识别为键。
这是我的代码:
^k::;
Run Code Online (Sandbox Code Playgroud)
我确实有一种解决方法,但它导致花括号乱七八糟:
{ ;Semicolon
^k::
send, {; down}
send, {; up}
return
}
Run Code Online (Sandbox Code Playgroud)
“down”和“up”之后的花括号不被识别为括号,而是作为注释的一部分。