我需要选择Windows自动化脚本语言.你推荐哪一个; AutoIt,AutoHotkey还是其他?
我读过" An AutoIt/AutoHotkey比较 ".有趣的历史,但没有推荐.搜索谷歌大约有312,000次点击,而AutoHotkey Windows对于482k AutoIt Windows.在Stack Overflow上有15个问题标记为autoit vs 18 autohotkey.
我对程序员的看法很感兴趣.您认为哪一个更易于使用,更易于部署且功能更强大?我已经将AutoHotkey用于个人用途,所以我最初的偏好就是这个.
我最近切换到Dvorak键盘布局作为一个实验.过渡中最困难的部分之一就是处理热键.大多数热键在设计时考虑到了QWERTY,更糟糕的是,热键似乎极其依赖于肌肉记忆.
我没有重新学习所有的热键,而是编写了一个自动键盘脚本,当将,或键与其他键一起按下时Ctrl,将Dvorak布局转换回QWERTY .除了Visual Studio '08,它在我尝试的任何地方都能很好地工作.在autohotkey可以翻译之前,似乎正在抓住击键.AltWin
为什么会发生这种情况,我该如何解决这个问题?
以下是我的脚本的摘录(从一开始):
; control + letter
^;::^z
^q::^x
^j::^c
^k::^v
Run Code Online (Sandbox Code Playgroud)
更新:脚本在Win7上工作正常,ahk,vs08和新安装的coderush.我遇到麻烦的机器是运行vista.有关如何进一步诊断的任何想法?
更新2:该脚本适用于Vista和2010 beta 2.看起来只是vs 08 + vista.今晚要尝试重新安装vs08.
我希望我的AltGr键表现得像左派一样Alt.
通常,我使用Autohotkey做这种事情,但我对不同的解决方案持开放态度.
我试过这个:
LControl & RAlt::Alt
Run Code Online (Sandbox Code Playgroud)
并且Autohotkey显示有关Alt未被识别的操作的错误.
然后我尝试了以下代码:
LControl & RAlt::
Send {Alt down}
KeyWait LCtrl
KeyWait Ralt
Send {Alt up}
return
Run Code Online (Sandbox Code Playgroud)
哪种工作 - 我能够使用AltGr密钥访问热键,但它仍然表现不同:
当我按下并释放左侧时Alt,当前程序中的第一个菜单项获得焦点.使用此脚本
按下和释放AltGr不会执行任何操作.
有任何想法吗?Autohotkey甚至可以实现这一点吗?(重新映射右边Ctrl和Shift他们的左边兄弟姐妹是小菜一碟)
Alt到LAlt没有区别. 关于语法高亮,命令完成(intellisense),测试等,Autohotkey的最佳编辑器是什么?
我正在做一些Autohotkey编程,并被Visual Studio破坏,我真的很想念这些功能 - 特别是对语言/框架不熟悉.
我不是傻瓜......真的.如何在AutoHotKey中映射关键SEQUENCE(即:Ctrl+ Q,F).
我有Ctrl+ Q下来:
^q::
Run Code Online (Sandbox Code Playgroud)
我甚至得到了F:
f::
Run Code Online (Sandbox Code Playgroud)
帮助文件中的示例甚至显示了如何连续执行两次击键:
Numpad0 & Numpad1::
Run Code Online (Sandbox Code Playgroud)
但它不适用于:
^q & f ::
Run Code Online (Sandbox Code Playgroud)
或者以下任何一种:
LCtrl & q & f::
^q & ^f::
^q^f::
^qf::
Run Code Online (Sandbox Code Playgroud)
当其中一个键是Ctrl关键时,如何完成按键序列触发某事?我考虑使用HOTSTRING,但Ctrl在这种情况下无法弄清楚如何包含角色!
当用户双击"按下" esc键时,我想在AutoHotkey中触发一个事件.但是,如果不是双按(例如在一秒钟的空间内),让逃逸按键进入应用程序焦点.
我该怎么做呢?
到目前为止我已经想出了这个,但是我无法弄清楚如何检查第二个退出键按下:
~Esc::
Input, TextEntry1, L1 T1
endKey=%ErrorLevel%
if( endKey != "Timeout" )
{
; perform my double press operation
WinMinimize, A
}
return
Run Code Online (Sandbox Code Playgroud) 我想.ahk在Notepad ++中显示AutoHotkey 脚本文件的语法高亮显示.
每次打开AHK脚本时,我都不想手动选择语言.我希望在打开文件时自动应用特定于语言的语法.
2015年3月Spotify升级后,以下热键不再适用于Spotify中的下一首歌:
; Spotify next track
<^>!p::
DetectHiddenWindows, On
ControlSend, ahk_parent, ^{Right}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
Return
Run Code Online (Sandbox Code Playgroud)
使用间谍检查时,SpotifyMainWindow"看起来是一样的",而且在Spotify中,Ctrl-Right也适用于下一首歌,但热键不适用.
如何在升级后的Spotify中为下一首歌创建热键?
我试图让两个连字符触发短划线,三个连字符触发长划线; 喜欢
:*?:---=::—
:*?:--=::–
Run Code Online (Sandbox Code Playgroud)
除了工作.这是我得到的地方:
:*?:11::
SendLevel 1
Send 2
return
SendLevel 0
:*?:21::3
Run Code Online (Sandbox Code Playgroud)
这项工作(11产生2,111产3)
:*?:--::
SendLevel 1
Send –
return
SendLevel 0
:*?:–-::—
Run Code Online (Sandbox Code Playgroud)
这是相同的脚本,但"1"已被" - "取代,"2"已被" - "取代,"3"已被" - "替换为" - "应生成" - "并且"---"应该生成" - ",但它不起作用,因为在我使用的版本中不完全支持Unicode(来自autohotkey.com的AutoHotKey_L v1.1.09.04).
我正在寻找一个易于使用的Linux GUI自动化/宏平台的建议.
如果您熟悉Windows上的AutoHotkey或AutoIT,那么您就会知道我需要的功能类型,以及复杂程度.如果您不熟悉,那么这里有一个小代码片段,说明使用AHK是多么容易:
InputBox, varInput, Please enter some random text...
Run, notepad.exe
WinWaitActive, Untitled - Notepad
SendInput, %varInput%
SendInput, !f{Up}{Enter}{Enter}
WinWaitActive, Save
SendInput, SomeRandomFile{Enter}
MsgBox, Your text`, %varInput% has been saved using notepad!
#n::Run, notepad.exe
Run Code Online (Sandbox Code Playgroud)
现在上面的例子虽然有点无意义,但是我正在寻找的那种功能和简单性的演示.这是对那些不说AHK的人的解释:
----开始解释守则----
显示带有一些文本和变量内容的消息框
注册一个热键,Win + N,按下时执行notepad.exe
----说明结束----
您可以理解,这些功能非常明显:能够轻松模拟键盘和鼠标功能,读取输入,处理和显示输出,执行程序,操作窗口,注册热键等等.所有操作都可以完成而无需任何#includes,不必要的括号,类声明等.简而言之:简单.
现在我用Perl和Python玩了一下,但它肯定没有AHK.它们对于更先进的东西非常有用,但当然,必须有一些工具可以轻松实现GUI自动化?
PS:我已经尝试过用AH运行AHK但发送按键和热键不起作用.