首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在进程列表中隐藏.net应用

如何在进程列表中隐藏.net应用
EN

Stack Overflow用户
提问于 2012-08-21 17:04:08
回答 3查看 2.3K关注 0票数 3

我们正在为所有用户开发一个在启动时运行的.net应用程序。现在,我们希望从任务管理器->进程列表中隐藏此应用程序,以便登录的用户无法删除它。我们使用的是windows-xp。

请让我知道这是否可行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-21 17:08:53

隐藏进程是完全可能的;您正在讨论设计一个。如果这确实是您想要做的,请参阅this question

然而,这通常不是解决这个问题的正确方法:如果你是一台机器的管理员,你不希望其他用户杀死一个进程,你就是不给他们这样做的权限。

让您的用户使用登录,并使用不同的帐户运行您的应用程序。

要可靠地获取登录时间,您可以使用windows安全日志,或者如果您在域中,则可以使用active directory服务:

Getting Local Windows User login session timestamp in C#

获取空闲时间更复杂,因为它取决于您认为“空闲”是什么,但是如果您认为GetLastInputInfo()足够了,那么这个问题描述了一种很好的方法,使用一个用户进程向系统进程报告:

Getting user Idle time in C#?

由于用户不能终止系统进程,因此您可以让它监视用户进程,并在必要时重新创建它。

票数 4
EN

Stack Overflow用户

发布于 2012-08-21 17:06:08

将其隐藏在显眼的地方:使其作为服务运行,其名称看起来应该是windows的一部分。

然后让另一个服务监视this关闭并重新启动它。

票数 1
EN

Stack Overflow用户

发布于 2012-08-21 17:08:16

这就是Windows安全性的用途。定义用户帐户的权限,使其无法管理服务或终止进程。

如果情况与您在Colin's answer下面的注释中描述的情况相同,那么您可以运行一个服务级别的进程,该进程在每次用户进程被终止时重新唤醒用户进程。这样就更简单了。您可以使用WinApi中的CreateProcessAsUser代表用户执行流程:http://msdn.microsoft.com/en-us/library/ms682429%28v=vs.85%29.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12051525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档