I'm working on an application that's supposed to have a web based GUI where you can insert some data. That data will be saved in persistent storage and a hex number generated and stored alongside. This number also needs to be stored on a smart card accessed through a reader on the user's device, using user's credentials to determine which device.
The user's device will need to have a desktop app running in the background (in the tray). This app is supposed to:
- Listen to events on the smart card reader
- Respond to card being placed with a tray notification cloud, which when clicked on...
- Displays a GUI with some data that can be modified
- Transfer data or query data from a web server through a Web API
- Listen for messages incoming from the server where the web app resides
Let's say I know how to build the web app with the API, or at least know where to look for info.
How do I design the desktop part of the app? Do I need a service? MSDN says:
Windows Service applications run in a different window station than the interactive station of the logged-on user. A window station is a secure object that contains a Clipboard, a set of global atoms, and a group of desktop objects. Because the station of the Windows service is not an interactive station, dialog boxes raised from within a Windows service application will not be seen and may cause your program to stop responding. Similarly, error messages should be logged in the Windows event log rather than raised in the user interface.
Does this mean that I can't have a GUI if I create a service?