Remember desktop state after reboot
do you ever try Relaunch application:

Relaunch saves you time by taking Snapshots of which applications you are using, and starts them back up for you. Think of it as a launcher on steroids that lets you switch between work contexts with one click. 

you can take a snapshot before restart your system and after that double click on the snapshot you created then it restored all your files and application you worked on.