我正在撰写特定于我们产品的许可应用程序。它不是非常详细和精细,但它将适用于我们的业务。
许可证将硬件(我在.net中获得的3件)与在执行程序时作为选项传递的工作站ID相关联。因此,工作站ID XXX被授权在计算机YYYYY上运行。
我在其中看到的唯一漏洞是,当他们仅被许可运行一次时,他们可以通过RDP多次运行应用程序。通常他们
如何分配许可证以防止它们在获得更少许可时多次从不同会话运行应用程序?
由于这是在对等2对等网络上运行的,因此大多数情况下,我不能依赖于检查任务管理器以查看程序启动时正在运行的内容。
任何人都有关于我可以在RDP连接上跟踪什么以建立许可证的建议?
谢谢!
答案 0 :(得分:2)
如果我正确理解你的目标,你想要阻止他们更频繁地运行应用程序...并且你写的你已经解决了,除了应用程序在不同会话中的同一台机器上运行的情况...
如果是这样,那么你只需要一种机制来防止在同一台机器上第二次启动应用程序(即使在不同的会话中)......你可以使用全局互斥来实现这一目标......参见{{3} }
基本上你创建了一个名为Mutex的Global\
作为名称的前缀...如果该Mutex已经存在,那么该应用程序已经在这台机器上运行(在相同或不同的会话中)......如果您只想阻止它在同一会话中再次运行,请使用Local\
作为前缀......