Currently, the code has static imports for the DLL functions. This causes the program to not even run if the DLL is missing. It's better to load DLLs dynamically, so the program can react with a useful error message.