Perhaps the redneck method? Try to localize the time when problems started, and uninstall programs you've got after that. You can do it one by one. You can also undo Windows Updates, Control Panel\All Control Panel Items\Windows Update > View update history. Sometimes Windows updates cause more problems than they solve.
To somehow solve the date would be important.
Have you connected some new hardware? Say, an extra monitor?
Have you checked the Event Viewer, Control Panel\All Control Panel Items\Administrative Tools\Event Viewer? Or tried to restore, Control Panel\All Control Panel Items\Recovery > >> pick "Show more restore points" in order to see more options.
Sorry if I sound abrupt, I wish you the very best.