User Defined Functions: Difference between revisions

From AutoIt Wiki
Jump to navigation Jump to search
No edit summary
(Fixed invalid link for "Outlook Tools")
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page is a listing of libraries of '''user defined functions''' (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.<br />
This page is a listing of libraries of '''user defined functions''' (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.<br />
This list is probably not complete (365 UDFs on 2022-01-11), but constantly supplemented.
This list is probably not complete (370 UDFs on 2022-06-19), but constantly supplemented.
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].


Line 9: Line 9:
'''When will an UDF be added to this list?'''<br>
'''When will an UDF be added to this list?'''<br>
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].<br>
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].<br>
In addition the following requirements to be added to this list should be met:
In addition the following requirements should be met:
* Documentation: So users can tell what the UDF is intended to do (mandatory)
* '''Documentation''': So users can tell what the UDF is intended to do (''mandatory'')
* Examples: So users can get an idea how to use the UDF. The more the better (mandatory)
* '''Examples''': So users can get an idea how to use the UDF. The more the better (''mandatory'')
* Operating systems: Should support the latest Microsoft OS plus as many predecessors as possible (optional)
* '''Operating''' systems: Should support the latest Microsoft OS (''mandatory'') plus as many predecessors as possible (''optional'')
* AutoIt: Should support the latest version of AutoIt (optional)
* '''AutoIt''': Should support the latest version of AutoIt (''mandatory'') plus as many predecessors as possible (''optional'')
* Author: The author should still be active on the forum so he can reply to questions (optional)
* '''Author''': The author should still be active on the forum so he can reply to questions (''optional'')
<br />
<br />
'''Last year's modifications'''<br />
'''Added in the past two years'''<br />
{| class="wikitable"
{| class="wikitable"
|-
|-
! Date !! Section !! Creator !! Description
! Date !! Section !! Creator !! Description
|-
| 2022-06-19 || [[User_Defined_Functions#Internet protocol suite|Internet protocol suite]] || Beege || [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURL UDF with x64 support] - cURL UDF with x64 support.
|-
| 2022-05-24 || [[User_Defined_Functions#Controls|Controls]] || kurtykurtyboy || [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton] - Change colors of regular buttons.
|-
| 2022-04-25 || [[User_Defined_Functions#Social_Media_and_other_Website_API|Social Media and other Website API]] || Ascer || [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.
|-
| 2022-02-22 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || czardas || [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit] - Convert to and from CSV format.
|-
| 2022-02-11 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC] - Very fast interprocess communication that could be used between VBS or AutoIt.
|-
|-
| 2022-01-11 || [[User_Defined_Functions#Media|Media]] || MrKm || [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace] - Convert Images to text with the OCRSpace API.  
| 2022-01-11 || [[User_Defined_Functions#Media|Media]] || MrKm || [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace] - Convert Images to text with the OCRSpace API.  
Line 69: Line 79:
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=480 Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.
Line 106: Line 116:
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).
* [https://www.autoitscript.com/forum/topic/202618-implementing-irunningobjecttable-interface IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.
Line 118: Line 129:
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/?do=findComment&comment=799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/?do=findComment&comment=799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation UDF (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation UDF (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML UDF (by FireFox)] - Work with SpreadsheetML (Open XML file formats).
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML UDF (by FireFox)] - Work with SpreadsheetML (Open XML file formats).
Line 176: Line 188:
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 & Kip)] - Divide a GUI into adjustable frames.
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 & Kip)] - Divide a GUI into adjustable frames.
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.
Line 261: Line 274:


== Internet protocol suite ==
== Internet protocol suite ==
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURL (by Beege)] - cURL UDF with x64 support.
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.
Line 329: Line 343:
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 (by smbape) OpenCV v4+] -  OpenCV UDF with support for OpenCV v4+.
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] -  OpenCV UDF with support for OpenCV v4+.
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.
Line 374: Line 388:
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - With this UDF you can simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.

Revision as of 17:03, 25 July 2022

This page is a listing of libraries of user defined functions (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.
This list is probably not complete (370 UDFs on 2022-06-19), but constantly supplemented. If you do not find a solution here, ask a new question on the forum.

Note:
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.


When will an UDF be added to this list?
It should meet all/most of the general requirements for UDFs as described here.
In addition the following requirements should be met:

  • Documentation: So users can tell what the UDF is intended to do (mandatory)
  • Examples: So users can get an idea how to use the UDF. The more the better (mandatory)
  • Operating systems: Should support the latest Microsoft OS (mandatory) plus as many predecessors as possible (optional)
  • AutoIt: Should support the latest version of AutoIt (mandatory) plus as many predecessors as possible (optional)
  • Author: The author should still be active on the forum so he can reply to questions (optional)


Added in the past two years

Date Section Creator Description
2022-06-19 Internet protocol suite Beege cURL UDF with x64 support - cURL UDF with x64 support.
2022-05-24 Controls kurtykurtyboy GuiFlatButton - Change colors of regular buttons.
2022-04-25 Social Media and other Website API Ascer oAuth - Open standard for access delegation, commonly used to grant websites or applications access to other websites.
2022-02-22 Files, Databases and web connections czardas CSVSplit - Convert to and from CSV format.
2022-02-11 Inter Process Communications Nine Overlapped Named Pipe IPC - Very fast interprocess communication that could be used between VBS or AutoIt.
2022-01-11 Media MrKm OCRSpace - Convert Images to text with the OCRSpace API.
2022-01-11 Media Danyfirex UWPOCR - Universal Windows Platform Optical Character Recognition API.
2021-08-18 Graphics and image smbape OpenCV v4+ - OpenCV UDF with support for OpenCV v4+.
2021-08-04 Windows DonChunior BITS - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.
2021-02-27 Inter Process Communications SEuBo AutoItSharedData - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.
2021-02-20 Information gathering Ascend4nt NetworkStatistics - Network Interface Info, Statistics, and Traffic.
2021-02-16 Files, Databases and web connections BrewManNH _FileGetProperty - Retrieve properties of a file.
2021-02-09 Script Coding/Analyzing/Debugging ProgAndy and others AutoItObject - Brings the Object Orientation programming paradigm to AutoIt.
2021-02-05 Misc Nine BlockInputEx - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed.


Automation

Browsers

Microsoft Office

Some features of Microsoft's Office products are proprietary and cannot readily be manipulated. Sometimes workarounds are required.
This page is dedicated to identifying those issues, provide explanations and list solutions or workarounds.

OpenOffice/LibreOffice

Other Applications

Script Coding/Analyzing/Debugging

Inter Process Communications

Files, Databases and web connections

Data compression

Encryption and hash

GUI Additions

Controls

Hardware

Information gathering

Internet protocol suite

Maths

Media

Graphics and image

Players

Sound

PDF

Security

Social Media and other Website API

Windows

Misc