You could run stuff asynchronously using a hidden window. Basically you could use the full win32 API and use VB procedures as callbacks (e.g. as window procedures for your own window subclass). The book “Hardcore Visual Basic” explained how to do it: https://classicvb.net/hardweb/hardbook.htm