The loop would be faster, but you have to make sure to place a doevents in it somewhere. You would also have to exit the loop before you could shut down the program (otherwise the program would still use memory & processer power). Thats what the running boolean is for.