How to create invincible windows application using c# and windows services
我编写了一个在本地系统中运行的Windows窗体应用程序。我想让它不受感染。我的意思是,我希望用户不能使用任务管理器或任何其他第三方应用程序来终止进程。所以我写了一个Windows服务来在启动时运行这个应用程序。我以为我需要以系统的形式运行Windows服务,但我该怎么做呢?
对于这种情况有什么特别的建议吗?
- 听起来有点邪恶。如果你能说服我们你只会永远使用这些知识,你可能会有更好的运气得到答案…
- 开机位于屏幕左下角。
- @德鲁开玩笑?我写了一个简单的硬币接受者应用程序供公众使用,而不是特洛伊木马。
- Windows服务不能有GUI,因此无法使Windows窗体应用程序成为服务。请参阅stackoverflow.com/questions/53232/…。我相信"不可能"标签也适用于创建"无敌"应用程序。至少我希望如此。我不能杀死的用户模式程序的想法是相当可怕的。
- @Jim如果你再看一次,我告诉过Windows窗体应用程序正在运行,运行程序是Windows服务本身(我使用了进程类2来运行应用程序)。顺便说一下,许多反病毒程序都有一个内核,不能使用任务管理器或进程浏览器(如nod32等)来杀死它。
- 这个问题,虽然听起来很恶作剧,但不需要投反对票或接近票,因为它是一个有效的问题,没有重复(我知道)。
- 您还希望他们无法终止服务吗?如果你可以在电脑上启动/停止服务,那么杀死nod32这样的AVS就不难了。
- 在我们公司有一个任务栏,它由一个服务启动。通过这个任务栏,我们的用户可以启动我们公司的所有应用程序。在启动应用程序之前,任务栏会查找更新等。如果任务栏崩溃或用户通过TaskManager停止它,服务将再次启动此任务栏。开发人员和管理员不能一直运行,因为有些用户没有必要与之交谈:)
我在工作中的应用程序也有同样的问题,用户不应该关闭它。
您必须允许servie allow服务与桌面交互。以下是安装服务时如何执行此操作的示例:http://www.codeproject.com/kb/install/cswindowsservicedesktop.aspx
现在,您可以从服务中为当前登录的用户启动一个GUI应用程序。如果当前用户的进程仍在运行,或者不只是重新启动它,您应该查看intervall。
请参阅此处了解当前用户进程:http://www.codeproject.com/kb/cs/processownersid.aspx
- +1作为答案:)
- 这可能是解决方案,但在我的情况下不是。我们还有一个问题。应用程序在此方案中重新启动。这意味着这个过程仍然可以被用户杀死。但我不想创建一个可以被用户杀死的进程。我想创建一个只被管理员杀死的进程。
- 如果关闭了GUI应用程序,让服务做任何事情,这都无关紧要。GUI应用程序只能用于向服务发送任务或从服务接收信息并将其显示给用户。您可以将其视为客户机-服务器应用程序。参见:stackoverflow.com/questions/1773046/…
- 请注意,这在10年前就不再得到支持了。在任何现代版本的Windows上都没有这样的复选框。即使复选框在那里,你也不应该这样做。这是一个仅用于测试目的的选项,开发人员滥用了它。像这样的答案是问题的一部分。
- 我使用的是Windows7,我看到了快速清除复选框:)你的思想都被抛弃了。