I second OBS. It works great for capturing windows and screens. The only issue I had with it is that Windows Media Player won't play the "Advanced Video Codec" that it records with, so I had to run it through Handbrake.
On the flip side, I found that OBS brought my -- admittedly older -- MPB to its knees such that the app I was trying to show wouldn't perform. Huge lengths of video were frozen. Same on an older first-gen i7 Windows machine. I never did figure it out.
This is probably a configuration issue, although OBS has more issues OS X for a variety of reasons. I've ran OBS on my 10 year old PC while coding without much issue.
Recommending codec packs seems like outdated advice these days. VLC has much less of an impact on the system itself.
VLC is not optimized to prioritize video quality at all last time I saw or used it. Additionally, it felt clunky and seemed to perform worse than MPC-HC.
I'd be interested in any more info about this, specifically enough information to log bug reports.
Advanced Video Codec, or AVC, is just another name for bog-standard H.264.
I wonder if it's just the profile that WMP has problems with. I'd be interested in comparing the `mediainfo` output of both a Handbrake and a OBS encoded video - I suspect Handbrake is still extremely conservative with what it outputs (at the expense of a bit of quality)