This is based on monoceres's work in this thread. What it does? It creates another thread and execute some code in it. In this example it will do this exactly: check internet connection using InternetCheckConnection function (ping) set text in label (GUI is there) saying something and set proper icon indicating connection state sleep for 3000 ms do it again... and again... and again All that without the blocking effect on your main script (loop). Code is executed in another thread. Script (e