Luckily, the Windows API is exactly what enables you to write graphical Windows software in C.
It does, but it's nowhere near the intended use case. Microsoft doesn't even recommend that new programmers use C++. Their documentation says
C++ or .NET?
In general, .NET programming in C# is less complex, less error-prone, and has a more modern object-oriented API than Win32 or MFC. In most cases, its performance is more than adequate. .NET features the Windows Presentation Foundation (WPF) for rich graphics, and you can consume both Win32 and the modern Windows Runtime API. As a general rule, we recommend using C++ for desktop applications when you require:
precise control over memory usage
the utmost economy in power consumption
usage of the GPU for general computing
access to DirectX
heavy usage of standard C++ libraries
It's also possible to combine the power and efficiency of C++ with .NET programming. You can create a user interface in C# and use C++/CLI to enable the application to consume native C++ libraries. For more information, see .NET Programming with C++/CLI.
I'm not saying C is a bad language or anything, just that the OP here is a new programmer with some python experience whose now looking to make some basic windows apps. It makes no sense to recommend somebody like this use C as opposed to .NET. Even if I wasn't going to recommend C#, I'd still recommend C++ over C for a newbie targeting Windows.
Like I said in my first post, programming languages are just tools and you should pick your tool based on the job. If he were asking us about building a mac app, I'd tell him to use Swift, elementaryOS I'd tell him Vala, etc. When you're just starting out you should should always use whatever the platform's recommend tooling and pathway is. You should really only use a language like C in cases where you have a good reason to do so.