You can do that on win32, all you need to do is inject a dll into that application using WriteProcessMemory and CreateRemoteThread.
Another way is to find a dependency of the dll and make a proxy of it, that way windows will automatically load your dll into the program's address space and you can go from there.
I'm not sure about this 100% because I think steam has a way of knowing when you do that, for example I was going to add a clock in-game so I could play fullscreen and be able to track the time.
I got my dll loaded and hooked LoadLibrary but after a while it would just die without any warning, after that I just gave up and put a real clock next to my monitor
