如何让我的应用程序无法使用

时间:2017-05-18 12:39:26

标签: c#

我正在用C#制作家长控制计划。我想做的是让我的程序无法退出。我怎么能在C#中做到这一点?我在Google上搜索过,但一无所获。

3 个答案:

答案 0 :(得分:2)

你做不到。操作系统始终具有控制权,因此通过操作系统,您可以随时退出(强制终止)应用程序,例如通过任务管理器。

轻量级解决方案可能是另一个检查应用程序是否处于活动状态的应用程序。如果没有,请再次启动它。主程序检查检查程序是否存在并在必要时启动它。

另一种解决方案是在管理帐户下运行服务。如果您不需要访问用户的屏幕,那么这只是一个可行的选择。

答案 1 :(得分:1)

你真的意味着不可能退出吗?或者就像隐藏近十字架或什么?

如果你的意思是让程序无法杀死,即使在任务管理器中,这似乎也是一个坏主意。如果用户无法杀死程序,Windows会如何杀死它?

如果我是你,我可能会用密码保护程序关闭。

答案 2 :(得分:0)

AntiVirus软件也实现了这一点。我只是不知道他们是怎么做的。但是,您应该从将程序作为服务运行开始。这对普通用户来说已经非常困难了。

然后找出如何避免服务停止。我想你还需要在系统用户帐户下运行它。

如果您需要管理GUI,那么您应该编写第二个与您的服务通信的程序。

这里有一些信息如何(尝试)杀死不可阻挡的服务:
https://superuser.com/questions/338539/how-to-stop-an-unstoppable-windows-7-service/338560
所以这与你想要实现的目标相反。这意味着,如果您的服务遭受所有这些攻击,那么您已经成功了。

经过一些互联网搜索,我找到了这些(结果1到5和8,搜索“c#创建服务避免停止”):
Prevent Windows service manager from stopping a service c#
Protecting a Windows Service from untrusted users
Stop Windows Service and avoid time out warning message
https://social.msdn.microsoft.com/Forums/vstudio/en-US/95ab8bf4-fa18-4f37-8a92-dc0b346afb76/prevent-a-user-from-killing-a-windows-service?forum=csharpgeneral
https://msdn.microsoft.com/en-us/library/9k985bc9(v=vs.110).aspx
http://www.csharp-examples.net/restart-windows-service/