I'm making a screen saver and I want to do stuff like slideshows, weather, etc. When a user is logged on, the screen saver runs perfectly. My issue is that when the computer is locked (this screen saver isn't normally enabled), the screen saver runs under the local service account, which doesn't appear to have network access. This means that accessing file shares and other network data is impossible as far as I know.
I've tried making other apps to run the screen saver under a different user, but I get extremely vague errors, such as "unknown exception", and not a standard .net exception. I've also tried impersonating within the screen saver itself, but this also appears to fail since it still can't get network access.
At this point, it seems like I'm going to be stuck making a background service that saves data to the local computer, and then have my screen saver parse it, but I wondering if someone has a super convenient way that I haven't thought of.
Thanks.
Ended up going with another app to run in the background and copy all the data locally. Bonus is, I don't have to account for stuff like losing network.