如何唯一识别计算机程序?

时间:2011-10-26 17:03:39

标签: c# database

我有一个更普遍的问题,但是在C#中实现这一点的任何建议也将非常受欢迎。 我在C#中制作一个基于PC窗口的程序,并且想法是,当程序运行的计算机连接到互联网时,该程序将少量数据发送到位于服务器某处的数据库。 PC程序将被许多人使用,但我希望能够知道哪个用户(哪个程序)发送了数据。所以,我会在那里放一个程序供人们下载和安装。然后,该程序将一些数据(取决于用户在程序中执行的操作)发送到中央数据库,并且我想知道哪些程序发送了数据。通过这种方式,我可以看到程序的哪些功能使用最多,有些人主要使用一种功能或更多功能,...

因此,问题是,如何制作一个节目,但能够区分该节目的不同“实例”?

有没有人有任何想法如何实现这个目标?

提前感谢您的所有答案。 干杯!

p.s。:我应该提一下,我刚刚开始学习PC编程,所以尽量让初学者也能理解答案。 :)

3 个答案:

答案 0 :(得分:9)

我在客户端创建一个GUID并将其存储在某个地方的设置中,然后将其与每条消息一起发送。

这可以存储在计算机上的每个用户或全局设置中,以便您获得基于用户或基于计算机的保真度。

这样做的好处是您不会存储任何个人数据,因此不会违反隐私法。

答案 1 :(得分:2)

您可以使用MAC address和登录用户名的组合(可能是哈希值,这样您最终不会保留私人信息)来唯一标识机器/用户组合。

答案 2 :(得分:2)

无论您做什么,请确保在发送数据之前询问每个用户的许可,否则您很可能会很快失去与用户的善意。在安装程序中,考虑将Guid写入文件系统并在每次加载程序时读取该GUID。安装程序还可以选择“发送匿名使用信息以改善客户体验”。如果他们取消选中该框,则记录该事实。