Articles of autohotkey

Autohotkey在Windows PC上重新映射Apple Mac键盘

我正在尝试使用数字键盘configurationApple键盘以在Windows笔记本上工作。 我发现了很多示例和脚本,我可以将Cmd重新映射到Ctrl,并将所有function键重新映射到音量控件,媒体控件,打印屏幕等。 我仍然无法find将焦点移到下一个窗口 (从程序到另一个窗口 )的方法:在Windows上,这由LAtl + Tab在Cmd + Tab的Mac上完成。 命令重新映射到Ctrl,但我找不到Autohotkey命令启动“移动焦点到下一个窗口”的行动。 我试着用: LWin & Tab::SendInput{Alt & Tab} 要么 LWin & Tab::Send {Alt & Tab} 但它说This line does not contain a recognized action 。 根据文档,正确的语法是: LWin & Tab::SendInput !{Tab} 但没有任何反应。 这是我的脚本: #InstallKeybdHook #SingleInstance force SetTitleMatchMode 2 SendMode Input F7::SendInput {Media_Prev} F8::SendInput {Media_Play_Pause} F9::SendInput {Media_Next} F10::SendInput {Volume_Mute} F11::SendInput […]

易于使用的AutoHotkey / AutoIT的替代品的Linux

我正在寻找一个易于使用的GUI自动化/macros平台的Linux的build议。 如果您熟悉Windows上的AutoHotkey或AutoIT,那么您就知道我需要的functiontypes,具有复杂性。 如果你不熟悉,那么这里有一个简单的使用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 现在上面的例子虽然有点没有意义,但是我正在寻找一种function性和简单性的演示。 下面是对那些不说AHK的人的解释: —-代码说明开始—- 要求用户input一些文本并将其存储在varInput中 运行notepad.exe 等待窗口存在并处于活动状态 将varInput的内容作为一系列按键发送 发送按键进入文件 – >退出 等待“保存”窗口处于活动状态 发送更多的按键 用一些文本和一个variables的内容显示一个消息框 注册一个热键,Win + N,当按下时执行notepad.exe —-解释结束—- 所以你可以理解,这些特性是非常明显的:能够轻松地模拟键盘和鼠标function,读取input,处理和显示输出,执行程序,操作窗口,注册热键等。所有这些都不需要任何#include,不必要的括号,类声明等。简而言之:简单。 现在我已经玩了一些Perl和Python,但它绝对没有AHK。 对于更高级的东西来说,它们是非常棒的,但是肯定的是,必须有一些工具来实现简单的GUI自动化。 […]

谷歌浏览器 – 如何激活谷歌浏览器并切换到特定的选项卡窗口?

在Windows系统上,我运行了Python / QT GUI。 现在按下button,我需要激活最小化或不在我的应用程序前谷歌浏览器最小化。 如何激活谷歌浏览器,然后切换到static title name或process id titles (使用Python或其他方式)非常具体的选项卡? (例如激活第二个标签) Python:(不工作,它只是在努力打开它) import webbrowser url = 'http://docs.python.org/' chrome_path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s' webbrowser.get(chrome_path).open(url) Ahk:失败 #d:: list := Acc_Get("Object", "4.23.1", 0, "ahk_class MozillaWindowClass") ;MsgBox % list.accChildCount-1 for each, tab in Acc_Children(list) { MsgBox, % tab.accName(0) tab.accDoDefaultAction(0) } Return #c::WinActivate( "Calculator", "calc" ) #NoTrayIcon #SingleInstance […]

Windows 10search后第一次按下Control-Escape不起作用,Cortana在策略/registry中禁用

这是一个独特的问题,我已经search,无法find解决scheme。 这是在Windows 10上,最新的更新,截至9/28/2017,在过去几个月。 我通过registry和策略禁用了Cortana。 如果在使用系统(比如说10+秒)之后,我点击Control-Escape,就会popup开始菜单。 search从不起作用。 我是一个触摸打字员,所以这真的很烦人。 我想打控制逃生,并开始input我的search,在其他人的计算机上工作正常。 例如,要运行cmd.exe,我的input是“Control-Esc,c,m,d,Enter”。 在我的系统上,search不出来,我的c,m,d键击不会去任何地方。 我必须等一下,然后重做这个,它会起作用的。 我没有一个运行键,我真的习惯了这个控制逃生,然后开始input方法,理想的情况下,继续使用它。 我find的一个“解决scheme”是,如果我taskkill Cortana,它停留了一点点(如10-15秒?),然后回来。 如果我taskkill Cortana,然后几秒钟内打控制esc,search始终工作。 我的临时“解决scheme”是使用自动热键,这个脚本: ^Esc:: Process,Close,SearchUI.exe KeyWait Esc KeyWait Ctrl Send {LWin} Return 这将拦截控制esc序列,并杀死cortana,然后等待,直到控制和退出键被释放,然后按Windows键(发现这个提示在另一个stackoverflow问题/答案)。 任何人有任何其他的想法如何解决这个问题,或者是什么原因呢? 我的猜测是Cortana在某种程度上试图做一些事情,这是时机导致search失败的原因。 谢谢!

如何响应AutoHotKey脚本中的WM_SettingChange

(这个问题类似于Delphi:如何响应WM_SettingChange / WM_WinIniChange?但是AutoHotKey语言。这不是从AutoHotKey内部发送WM_SETTINGCHANGE。) 在另一个Windows进程(“发件人”)中,我通过修改HK_CURRENT_USERregistry来更改PATH环境variables。 然后,我使用SendMessageTimeout API发送/发布WM_SETTINGCHANGE消息。 我用作程序启动器的同时运行的AutoHotKey脚本(“receiver”)似乎并没有意识到这种变化。 我想要捕获此消息以刷新脚本的PATHvariables的本地副本。 可能吗? 例如,“发件人”可以是“ 系统属性”对话框或其他一些AutoHotKey脚本 : EnvUpdate 或者像nircmd这样的其他方便的第三方Windows二进制文件 : nircmd sysrefresh environment 或者一些Ruby代码 : ### This is a -*- ruby -*- script require 'Win32API' module Windows::EnvByReg def self.envupdate() result = 0 wParam_unused = 0 timeout_ms = 5000 SendMessageTimeout.call(HWND_BROADCAST, WM_SETTINGCHANGE, wParam_unused, 'Environment', SMTO_ABORTIFHUNG, timeout_ms, result) end SendMessageTimeout = Win32API.new('user32', 'SendMessageTimeout', […]

在string中使用Autohotkey转义引号(对于运行命令参数)

我试图通过autohotkey传递参数到一个Windows命令,但我一直无法成功地转义string中的引号。 我想要做一些事情:运行,closures“/ s / c /”MESSAGE /“” 所以我运行命令:shutdown / s / c“MESSAGE” 我该怎么做呢?

自动热键脚本仅在观看时才起作用

我有一个autohotkey脚本,可以自动导入向导GUI。 当我把RDP放到这个脚本所在的机器上的时候,我可以运行它的脚本,效果很好。 脚本运行时间为10分钟。 如果我在计划发生的时候将RDP装入机器,我可以看到脚本运行的很好。 当我注销RDP(甚至只是最小化窗口)时,脚本按计划运行,并在导入向导的第一个窗口中挂起。 如果我回到RDP,我看到那个窗口坐在那里,我看到我的剧本挂起,等待下一个窗口出现。 如果我在打开的窗口上点击确定(这正是ahk脚本所做的),那么我的脚本将继续并运行正常。 tldr:我的自动热键脚本只在我看的时候才起作用! 这是一些代码… #NoTrayIcon #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. saexe_file = […]

不能用autohotkey禁用alt + t,alt&Tab工作(被禁用),但不能alt + t

对不起,我忘了提及我正在使用杰夫·阿特伍德的wasd 104键密码键盘和“Mac模式设置为\我远程桌面到我的Mac电脑从Windows: 我试图用autohotkey禁用上下文切换器使用: !t::return 我也试过了 LAlt & t:: 由于某种原因,不工作。 禁用完全工作使用: t::return 并禁用Alt + Tab工程使用: LAlt & Tab::rule here…

AutoHotkey – 发送UP解除指定的密钥。

一个简单的例子, a Up::Send b return 按下DOWN不会产生“a”,它不会产生任何东西。 我希望有一个“a”处于DOWN状态,直到它被释放,此时单个“b”被发送。 我误解了Up参数的工作原理吗?

什么是自动旋转button的AHK键码?

我试图重新映射我的笔记本电脑上的一个物理button,触发Windows 10中的自动旋转开关。我知道这个Windows + O的键盘快捷键,这将是AutoHotKey中的#o。 使用下面的代码片段,我可以交换自动旋转键和音量减小键(只是一个例子)。 #o::Volume_Down Volume_Down::#o 但是,Windows + O触发的底层信号/键码是什么,我可以用键码而不是#o来触发它?