You might want to consider running memtest86+
http://www.memtest.org/download/5.01/memtest86+-5.01.usb.installer.zip install it on a USB drive (later it might be a bit difficult to format the drive, I usually need to go through CMD, so if you'll need help just drop me a message).
It could be various thing that cause these thing. I would first think it's memory, especially if programs crash occasionally.
Windows might have got damaged too, you could try repairing the system files by running CMD in administrator mode and typing:
sfc /scannow
that might do the trick.
Another thing is chipset drivers, might want to check if that's ok, maybe windows updated it or something.
Scan your computer using malwarebytes (if you havent) it's a bit different from regular anti-virus soft.
Aside from that, reinstalling windows is always a possibility, even though you don't want to do it often.
Hope it helps, keep us updated.