开发者

AutoHotKey: Calling one script from another script

开发者 https://www.devze.com 2023-02-02 08:18 出处:网络
I just discovered AutoHotKey 开发者_开发问答and it seems like a dream come true. I have two .ahk scripts, A.ahk and B.ahk. I want to call script B from within script A.

I just discovered AutoHotKey 开发者_开发问答and it seems like a dream come true. I have two .ahk scripts, A.ahk and B.ahk. I want to call script B from within script A.

The AHK forums are strangely silent on the subject but I am sure this is possible.


It's the #Include directive you are looking for. You include ScriptB.ahk, then call its functions like you normally would.

#include SomeFile.ahk

http://www.autohotkey.com/docs/commands/_Include.htm


Using an #include directive is more common, but occasionally you will need to call an external AHK script. This is easily accomplished using the Run or RunWait commands. While you can pass arguments to the called script through the command line you cannot call functions within it directly. Also, this approach will create a separate thread for the called script, but that may be the point.


What really helped was a combination of the previous answers and a little bit of outside knowledge. I needed a script that would call more than 1 script, and since my files were in different folders, I found that I needed to specify the entire path of the files (I am sure this could be shortened but this was good enough for me at this point). I also didn't want all the different scripts that were being called to appear in the tray of the taskbar so I added an ExitApp statement at the end. So my 'generalized' code was follows. Hopefully it can help another person.

#SingleInstance, Force

; HotKeys
#Include C:\Users\username\path1\Arrows.ahk
#Include C:\Users\username\path1\HomeEndModifiers.ahk

; SoundKeys
#Include C:\Users\username\path2\VolumeAdjustment.ahk

; Opening Programs
#Include C:\Users\username\path3\OpeningPrograms.ahk

ExitApp
```
0

精彩评论

暂无评论...
验证码 换一张
取 消