Folks, we want to implement a simple form of licence counting in our desktop product. A sign-in user account can only run the product on a limited number of different computers. This is the same way things like Adobe, Sibelius, Office, etc limit usage. You can run the products unlimited times on a single computer, but there is a limit on total distinct computers.
Our basic logic is actually working with little coding effort. Each sign-in provides the (user,computerhash) pair and counts are held on the server-side. It goes haywire with RDP. One user can have a dozen RDP sessions open from anywhere in the world and they all appear to be the same computer and generate the same hash so the counters don't change. I can call Win32 GetSystemMetrics(0x1000) to know if I'm in an RDP session, but I can't identify the client computer to correctly adjust the counters. I'm just wondering if anyone has been down this rabbit hole before and has general advice, especially regarding the RDP flaw. I know I'm reinventing all sorts of wheels and there are licensing counting/locking services you can subscribe to, but we thought we'd have a go first, before considering buying something. *Greg K*