From the above it's impossible to guess, but you need to look at all the parameters being passed to the WinMain() function to see if they are valid. Given the frequency of this occurring in your programs you may like to check that you are not breaking the framework rules somewhere in your program setup.
One of these days I'm going to think of a really clever signature.
Changing the function call is not enough. The Newcomer's rule "Don't touch the UI" holds here (see "Worker Threads"[^]). You have to notify (with, for instance, a custom message) to the main window that something changed (the UI needs an update), and let the main window (that is the GUI) thread make the actual update.