The other day, my printer ran out of paper so Vista threw the usual fit. After adding paper, Vista wouldn't put the printer back online. I tried all of the usual tricks: turning the printer off and back, unplugging the USB cable and plugging it back in, deleting the pring job and resubmitting it, and cursing and swearing. Nothing worked. (I didn't try the final solution: rebooting.)
Then on a Vista forum, I found a post by Joep42 who said his "techie son" came up with this BAT file:
net stop "Print Spooler"
net start "Print Spooler"
I ran it as administrator and the printer was back online. Many thanks to Joep42 and his son!