For making, hacks, loaders, etc. you need the WINAPI. The WINAPI is like a collection of function that allows you to communicate with the OS. Like getting processes, reading/writing files, creating processes/thread, and more. Also you can create windows, buttons, checkboxes and much more. When I use MFC then for GUI's because it's very easy to make forms. With the pure WINAPI you would need the right knowledge or you will fail at creating a window. MFC uses the WINAPI, but this framework helps you alot at building GUI's.
You can also use wxWidgets, qt or .NET to create GUI's.