Since the release of Windows Vista, I've read quite a few complaints about services being unable to interact with the user's desktop. I've also read various posts and articles explaining why that is the case, which make sense to me in general. However, there are use cases in which services need to interact with users in some fashion. The one I'm concentrating on is remote control. Synergy, a "software KVM", as some have described it, always needs access to the current desktop in the current window station in the current session because it needs to send keyboard and mouse input to it. From what I can tell, it has no problems switching between multiple desktops inside a single window station. However, it appears to be unaware of multiple sessions. That is what causes it to fail when installed as a Windows service and makes it impossible to log in to Synergy client machines running Vista and Windows 7.
The Phantom Revealer is a simple app I wrote in about half an hour (most of which was research and getting the freaking regex to work). All it does is detect the presence of the ThinkGeek Phantom Keystroker V2 on the local system. It enumerates all USB devices and looks through them to see if there is a VID and PID match.
Woot!Chuck is an application that chucks checks Woot.com for updates, downloads them, and displays them. What makes it different from most applications that do this is the fact that it employs a screen scraper, meaning it downloads Woot.com's pages and scans them to get the needed information. This is good for you, the user, as you don't have to obey Woot's pesky refresh rate limiting that RSS-based clients face.
Avalanche IM, currently in the works, is an instant messaging application for Windows Mobile. The reason I am writing Yet Another IM App (YAIMA?
) is that, out of all the Windows Mobile IM apps I've tried, none are quite what I've been looking for. Some use too much CPU, others crash randomly, and many aren't free.