2012-03-14 50 views
1

我即将在C#Visual Studio 2010中建立我的第一个Windows应用程序给我的客户。 我想限制每次安装只有一台计算机的使用情况,但我不知道该怎么做。如何限制windows应用程序使用c#只安装一台计算机?

任何人都可以指导我如何做到这一点?

+2

您应该寻找第三方授权工具来帮助您。 – 2012-03-14 20:42:35

+0

首先,明白没有解决方案会给你100%的保护。现在,如果你真的关心你的应用程序许可,你最好的办法可能是寻找一个商业解决方案,而不是自己开发。 – 2012-03-14 20:47:32

+1

[Software License](http://stackoverflow.com/questions/6846504/software-license) – 2012-03-14 20:47:40

回答

8

通常,这由所谓的“产品激活”系统进行管理。当客户安装您的应用程序时,他们必须输入序列号或密钥才能“激活”它。如果他们不这样做,应用程序将保持锁定状态。当他们激活你的产品时,系统会回拨你的服务器并说:“嘿,这把钥匙已经被使用了,这是它被使用的机器,不要让其他人再次使用这个钥匙。”

http://en.wikipedia.org/wiki/Product_activation

你可能不希望这个自己编写,所以有很多,你可以购买到难以为您的客户端安装在多台机器第三方软件包。通过把你的客户当作犯罪分子来对待他人,并试图保护你的辛勤工作之间有一个很好的界限。

海盗会出海盗。

+0

[做你想做的,导致海盗是免费的,..你是一个海盗](http:// www.youtube.com/watch?v=bEBbu-wkKrs) – 2012-03-14 20:53:48

+0

@JustinKirk:ftfy – Will 2012-03-15 12:07:35

+0

这是一个非常需要的链接,我不敢相信我没有将它设置为我自己的链接'\(^ _ ^)_ /' – 2012-03-15 15:19:10

2

将硬盘驱动器的序列号加密到您的程序中。它必须保存到某种类型的数据库中。将该字段命名为不明确的东西(与HDD序列号无关)。然后检查每次启动应用程序时是否匹配。不是超高科技,不是超级安全的,但会在大多数情况下工作。如果有人将应用程序复制到另一台PC上,显示与复制应用程序无关的消息,但您会知道发生了什么。我已经在VB和.NET中做了好几年了。工作正常。

+0

谢谢弗雷德,如果你能给出你想法的例子,我会感激你的帮助 – 2012-03-14 21:21:30

+0

我很抱歉问,如果用户有多个硬盘会怎么样?我怎样才能读取主硬盘的序列号? – Chuki2 2013-01-15 04:04:28

相关问题