Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
autohotkey shared library

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
source
testSandbox
.gitignore
AhkDll_GenDocs.ahk
AutoHotkey.sln
AutoHotkey.vcxproj
AutoHotkey.vcxproj.filters
ComServer.def
Config.vcxproj
How to compile.txt
LICENSE_MemoryModule.txt
PostBuildSC.ahk
README
license_AutoHotkey.txt

README

15.02.2012
- ResourceLibrary
- Removed ahkKey
- FileInstall for Scripts compiled with AutoHotkey.exe
- Allow pure integers (pointers) for DllCall and DynaCall "Str" prameter.
01.10.2011
- Merged latest MemoryModule
- Fixed x64w build AutoHotkey.dll also works fine using COM
25.10.2010
- Fixed ahkFunction returning wrong value
- Default script set to #Persistent`n#NoTrayIcon
- Fixed ahkExec to return when no line was added
15.08.2010
- Merged AutoHotkey_L54
- DllCall will now always search for W and A functions first, this is due to some functions do not have A suffix e.g. Process32First and Process32FirstW
- when empty string is passed to ahkdll function, it will run in text mode same as ahktextdll so it will run "#Persistent".
- ahkLabel second parameter is called nowait now so when 0 (default) AutoHotkey will wait for code to finish execution, because using PostMessage times out often when CPU is under load.
12.08.2010
- Merged AutoHotkey_L Revision 53
- new exported function ahkExec used to temporarily run some script, accepts also several lines of code
- when empty string is passed in first parameter, AutoHotkey will run "#Pesistent" as script.
18.07.2010
- Fixed a bug for dll when it was in root folder
- DynaCall is now managed trough internal DynaToken, similar to objects but without object features and much faster but can be used with DynaCall only (thanks Lexikos)
- DynaCall can set default parameters now, so you can call the function later with less or even witout parameters: func.()
16.07.2010
- Fixed not to delete ClipBoard vars when ahkdll is reloaded
11.07.2010
- Merged latest fixes by tinku99
19.06.2010 - H17
- Merged with AHK_L52
10.06.2010
- Fixed addScript and addFile loop bug
- Fixed ahkFunction bug when returning empty parameters and strings
27.05.2010
- Fixed when terminating dll not to destroy Build in variables
- Fixed problem when dll reloads, now parameter strings given to ahkdll and ahktextdll are copied and not used.
14.05.2010
- Fix for Alias BIF
- Multithread support for Input command, see other changes in docs.
28.03.2010
- Merge AutoHotkey_L Revision 50
- DynaCall fix, *pP parameter was not initialized correctly
28.02.2010
- DynaCall returns Objects now.
- You can use object features like dll.ahkgetvar.var or dll.ahkFunction["func"] or dll.ahkassign.var := value
13.02.2010
- ResourceLoadLibrary for AutoHotkeySC.bin
10.02.2010
- fix for A_DllPath
- fix on DLL_PROCESS_DETACH invalid hThread (MemoryFreeLibrary works fine now)
07.02.2010
- fixed ahkFunction
- added ahkPostFunction same syntax as ahkFunction but returns unsigned int 0 if func found, else -1
- ahkPostFunction and ahkFunction parameters are all optional now.
- ahkFunction and ahkPostFunction use now a CRITICAL_SECTION to avoid collision
- SendMode Input is default now.
- #NoEnv is default now, use '#NoEnv, Off' to turn off
- fixed ahkExecuteLine to run when lastline is given
- ahkLabel returns 0 if Label found else -1
- added ahkFindLabel
- ahkTerminate will now try (for 500ms) to stop the thread via PostMessage before running TerminateThread.
- EXPERIMENTAL New build in functions: MemoryLoadLibrary - MemoryGetProcAddress - MemoryFreeLibrary
- - Based on http://www.joachim-bauch.de/tutorials/load_dll_memory.html
- - So now multithreading is even easier as only 1 dll is needed.
- - Hook does not work currently.
- DynaCall, runs faster than DllCall and uses internally saved array of DllCall structures based on functions pointer.
03.02.2010
- Unicode
18.01.2010
- fixed MsgSleep to work after termination and reload.
- enabled #Persistent so a script that does not use #Persistent will terminate (use ahkdll ahktextdll or ahkReload to run it again).
- Send commands support inline sleep now when pure digits are specified, like Send a{30}{Tab}b{100}{Enter}. Send {9} will not sleep but send 9.
- Reload, Exit and ExitApp works like they should now for the dll.
- Added 2 new stdlib folder, which is the parent folder of A_AhkPath + Lib.lnk in same folder if it links to a directory.
- - - Directory of A_AhkPath, so now stdlib functions can be placed in same folder for simplicity.
- - - Additionally you can specify a link file in same folder (Lib.lnk) to your stdlib instead of copying the files for a portable project (e.g. on a ram drive!).
- ahktextdll and addScript support loading functions from all 4 libraries now as well.
- AutoHotkey.exe started without parameters checks for following files:
- - 1 %A_AhkPath%\..\[Name of executable].ahk 
- - 2 %A_AhkPath%\..\[Name of executable].ini
- - 3 %A_MyDocuments%\AutoHotkey.ahk
- - - REMINDER: portable mode = copy + rename AutoHotkey.exe to e.g. MyScript.exe and put it together with MyScript.ahk or .ini in same folder.
- No need to call ahkTerminate before calling ahkdll or ahktextdll, it will terminate automatically if a script is running.
- New AhkDll function - AhkDll(dllfile,function,p1,p2...), using static pointers to functions, executes around 5 times faster. 
- - Loads dll library automatically so no need to call DllCall("LoadLibrary"...)
- - Dllfile must contain only characters valid for a variable in ahk [a-zA-Z0-9_#$@]!
- - Functions are all case sensitive!
- ahkgetvar has now a further parameter (UInt), when this parameter is not 0, the pointer of the variable will be returned to use with Alias(), else value is returned

- New AutoHotkeyMini.dll uses a preprocessor and excludes many commands to support much faster load/reload and less memory usage. 
- Following commands are disabled/removed:
- - Hotkey (as well as Hotkey + Hotstring functionality), Gui…, GuiControl[Get], Menu…, TrayIcon, FileInstall, ListVars, ListLines, ListHotkeys, 
- - KeyHistory, SplashImage, SplashText…, Progress, PixelSearch, PixelGetColor, InputBox,
- - FileSelect and FolderSelect dialogs, Input, BlockInput MouseMove[Off], 
- - Build in variables related to Hotkeys and Icons as well as Gui, A_ThisHotkey…, A_IsSuspended, A_Icon….

30.12.2009
- ahkReload will reload a script, this can be also done by the script as well as ExitApp.
- ahkPause, get and set Pause state of current thread in dll script (dll only)
- ahkExecuteLine, execute a line by passing its pointer, a pointer is returned by addFile and addScript as well as by this function.
- - when no pointer is given, FirstLine pointer is returned, else pointer to next line is returned.
- changed ahkgetvar to return a value rather than passing a variable, so no need to VarSetCapacity anymore.
- fixed ahkFunction ( now using callFuncDll() ) to continue main script after function call.
- fixed to wait for thread to initialize and return then, as well as when script crashes while initializing.
- addScript will not reset previous script anymore.
- removed const for HotkeyIDType Hotkey so sHotkeyCount can be reset for ahkTerminate.

21.12.2009
- ahkTerminate, after terminating your script you can reload it using ahkdll or ahktextdll.
- script, incl. labels and functions, and hotkey destruction and reload now possible.
- a bug in ahkFunction was fixed.

19.12.2009
- fixed addScript bugs
- created ahktextdll

18.12.2009

- addScript loads script from text, second parameter is to replace current script
 DllCall(A_AhkPath "\addScript","Str","a:`nMsgBox a`nReturn","ushort",1,"Cdecl UInt")

- \ahkdll function will now load text if specified file does not exist

- no need for #Persistent in AutoHotkey.dll 

17.12.2009

- Changed to "Portable Mode"
	- Instead looking for %My_Documents%\AutoHotkey.ahk, the exe checks for %ExeDir%\ExeName.ahk. 
	- So you can copy AutoHotkey.exe and Script to separate folder then rename the exe to ScriptName.exe and start by double clicking the exe. 
	- You can also start new scripts using your exe that way. 
	  e.g. Run YourExe.exe "%filepath%"

- Changed ahkgetvar to support alias and build in variables. 
- Removed ebiv.cpp because ahkgetvar can be used to get any variable beside clipboard and clipboardall 
- Changed ahkFunction to support up to 10 parameters + return values
Something went wrong with that request. Please try again.