Here is a simple UDF and example script for multi-threading AutoIt applications from the same executable. You must compile scripts using this to test or the alternate threads will not launch UDF: Thread.au3 #include-once #include "Example.au3" ; Change this for your own use Global Const $Thread_RegRootKey = "HKLM\SYSTEM\CurrentControlSet\Control\AuThread\" Global Const $Thread_MsgKill = "_THREAD_COMMAND_KILL_SLAVE" Global $Thread_ProcessMessagesCallback, $Thread_Master ; Thread Creation