我有一个非常关键的过程,将在winform应用程序的后台运行。
如何阻止用户结束我的winform申请流程?
我想阻止用户:
我的代码在C#,框架4中,在VS2010 Pro中构建。
提前致谢。
答案 0 :(得分:2)
基本上不可能阻止用户查杀进程(你甚至可以杀掉explorer.exe,这是windows的shell)。
因此,建议您以适应用户操作或崩溃的方式编写应用程序。在您的情况下,在该过程中进行可恢复操作是明智的。
答案 1 :(得分:2)
说明'绝对'需要保持此流程正常运行,我真的建议将流程的关键部分与winforms应用程序分开,并将此部分从用户计算机移到公司服务器。
在此服务器上写一个服务,它可以让您的重要工作保持活力并随时运行
这些“绝对”要求只能在具有冗余磁盘,ups单元和(特别是)的服务器计算机上强制执行。
答案 2 :(得分:1)
你无法绝对确保这些事情,但你可以得到一些你想要的东西:
1)仅在为过程分配安全级别的Vista或更高版本的Windows上运行
2)以管理员身份运行您的流程,因此它是最高安全级别。
3)确保已打开UAC(用户帐户控制)。
4)关闭对登录用户帐户的任务管理器的访问权限(通过组策略)
5)无法让登录用户升级到管理员,这样他就无法运行任何具有停止进程权限的内容。
6)使用Shutdown script检查您的进程是否正在运行并防止关闭。