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:

  1. Listen to events on the smart card reader
  2. Respond to card being placed with a tray notification cloud, which when clicked on...
  3. Displays a GUI with some data that can be modified
  4. Transfer data or query data from a web server through a Web API
  5. 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?

  • 1
    I would think that if you want a UI application, then you do not want a service. Services are supposed to be for the kinds of background operations which need to be running 24/7 even when no users are logged in to your computer. programmers.stackexchange.com/questions/132798/… . The fact that you want a 'system tray' app which is always running when the user logs in just means you need the application to run at login time (Think apps such as Skype, Outlook, Catalyst Control Centre, etc.) – Ben Cottrell Feb 12 '16 at 21:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.