Database
Timestamp: 2015-02-03
Libraries: 100
Ahk Compatible: Basic
Download (~1.5 MB)
The archive contains all files and no other download is needed.
LICENSE: Please note, the script itself is GNU GPL licensed. The source code must be open, if you publish modified source of this script. See <!-- m -->http://en.wikipedia...._Public_License<!-- m -->
Attention: The libraries have all its own licenses.
Look at this: amnesiac made a custom build of the AHK Basic documentation, with the integration of the libraries I listed here. It is in the .chm format and available for download. See AHK Basic documentation with Standard Library
Table of Content (for this post)
- Description
- Database in ini format
- Call for all library and function developers
- List of used prefixes and filenames
- See also, more material
Description
This is my first attempt of creating a collection and sharing of stdlib compatible libraries. It does contain the source, if available a documentation, if available the license text, one sample per lib and some other notes, like if it is strictly stdlib conform (no globals in use etc.).
All these information are collected by hand into one place and saved in an ini file. The associated files can be found as a flat filesystem. The default Gui default script, which is provided with the database, makes it very easy to test the scripts without installing something. It shows buttons for opening the forum posts and the related documentation.
From time to time, I will add more and more libraries, which I find good enough for this. Some libraries I am interested in are not included, because they are not stdlib compatible or easily usable/installable because of some conflicts, i.e. majkinetors Forms Framework.
Screenshot may be outdated. Sorry.
Database in ini format
Any suggestion is welcome. If you like, post your favorite library not listed in the database in following format:
[0] GUID=regex("\w{8}-\w{4}-\w{4}-\w{4}-\w{12}") ; Generated with Titan`s uuid.ahk Abstract={string} Description={string} Prefix=regex("\w+") Date=regex("\d+") ; yyyymmdd Revision={string} Author={csv} Discussion={url} Source={url} Documentation={url} Sample={url} License={string} LicenseSource={url} Category={csv} Standalone="yes|no" StdLibConform="yes|no" Dependency={csv} ; filename: GUID Notes={string}
Not all keys/fields must be present. As an example, look at this:
[4] GUID=f24c8170-955e-126a-98a5-19ac76b08d4a Abstract=Text file & Variables/String Library Description=As the name suggest this is a AHK Library with a number of functions to "manipulate" text, both files such as *.txt, *.ahk, *.html, *.css etc AND Strings (or variables). It is NOT useful for binary files or data such as MS Office files, PDFs, EXEcutables, images etc. Prefix=TF Date=20100416 Revision=3.3 Author=hugov Discussion= http://www.autohotkey.com/forum/viewtopic.php?t=46195 Source=tf.ahk Documentation=tf.htm Sample=tf_demo.ahk Category=FileSystem, Text, Strings Standalone=yes StdLibConform=no Notes=It is not strictly stdlib conform, because globals are in use.
I will check and verify that, before it gets added into the database.
Call for all library and function developers
If you are a developer of any function, then have it in mind others could use it with the stdlib mechanism. Every function should reside in a library (that is a file containing functions only). A library is stdlib compatible, if the main usable functions lead to automatically inclusion of the library.
Names: To avoid possible conflict, please see what others have done and which function names and prefixes they uses. Different libraries cannot share same set of names.
Script: Please do provide the needed information in a standardized way if it is possible. Most important infos which I cannot guess often are the date of last edit and the version. At least, one of them should be available.
Official example scripts would be good to have, but it is not required. If there is no one, I`ll create one.
What you should do allways is, making an external documentation. It does not need to cover every aspect, begin to write down the most important informations first.
License: And I beg you, please make a notice about what license your script uses. That is an often neglected part, which can cause serious problems. I recommend the GNU Lesser General Public License.
I found that related page: How to choose a free software license.
List of used prefixes and filenames
The prefix is the filename also. If a library does not have a prefix, duo to the fact it have only one function, then the file is named after the function without a prefix. In example Anchor.ahk does have one function named Anchor(). And the library ini.ahk have many functions prefixed with "ini_", i.e. ini_getValue().
For compatibility with these, you should choose another name for your files than these and another prefix (here in alphabetical order):
Count: 100
- A
- Affinity
- AHKHID
- AHKsock
- Align
- Anchor
- argp
- baseConvert
- CColor
- cdomessage
- CMDret
- CMDret_stream
- com
- ConnectedToInternet
- ConsoleApp
- Crypt
- DamerauLevenshteinDistance
- DateParse
- Delay
- difference
- Dlg
- dll
- Dock
- DockA
- Edit
- EmptyMem
- Eval
- Exec
- File
- FileExtract
- FileGetVersionInfo
- fileIsBinary
- Font
- ftp
- Functions
- Gdip
- GetAvailableFileName
- GetCommonPath
- grep
- HLink
- Hotstrings
- HtmDlg
- httpQuery
- HttpQueryInfo
- ILButton
- ini
- InternetFileRead
- IsFullScreen
- json
- LetUserSelectRect
- MCI
- MCode
- md5
- mg
- MI
- Mount
- msTill
- Notify
- pgArray
- ping
- PixPut
- ProcessInfo
- QPX
- Rand
- RandomUniqNum
- Rebar
- regionGetColor
- RemoteBuf
- RichEdit
- RPath
- SB
- sc
- ShellFileOperation
- ShowMenu
- Splitter
- st
- StdoutToVar
- StrGet
- StrPut
- strTail
- StrX
- sXMLget
- TaskButton
- tf
- ThousandsSep
- Toolbar
- ToolTip
- TrayIcon
- TVX
- type
- UnHTM
- USBD
- uuid
- VA
- WaitPixelColor
- WatchDirectory
- Win
- WinServ
- xpath
- yaml
See also, more material
Some tools using this "Ahk Standard Library Collection" as backend or base information center:
[Basic]AutoHotkey Help with Standard Library
These are not included. Either they are not tested. not compatible with my collection or need non standard DLL files:
LowLevel & dynamic code
Forms Framework
MS Office Automation Functions
.NET Framework Interop
Embedded Windows Scripting (VBScript & JScript) and COM
PPJoy library
Voice Recognition COM
WinTraymin to trayicon
Clock + cpu and memory usage
Interesting helper stuff for coders:
MCodeGen - Easily transform C/C++ code into mcode
Scriptlet Library
Easy Script Block Editor
WinAPI Listing [New Version]
U T e s t