我正在为游戏做GameGuard,但不希望别人能够关闭游戏。我想让它从任务管理器中消失。
我尝试使用:
Me.ShowInTaskbar = False
但它没有用。从那以后,我在互联网上做了很多研究,没有任何例子或说明如何做到这一点。
人们认为隐藏进程是黑客般的,但就我而言,我是为游戏GameGuard做的。
我希望它完全离开任务管理器。
答案 0 :(得分:4)
AFAIK你无法隐藏任务管理器中的进程,这是一件好事。阻止用户查看和结束活动进程是明显的,完全错误。你能想象成为一名管理员而又无法在你的机器上结束一个过程吗? :)
对于ShowInTaskBar
属性,它仅确定表单是否作为任务栏按钮可见。与任务管理器无关。
回答下面的评论:
如果您正在使用Winforms,那么在您的表单的Closing
事件中,有一个CloseReason
属性可以通知您有关从任务管理器关闭的应用程序。不幸的是,您会发现it ain't 100% reliable。
答案 1 :(得分:0)
这是许多人在这里提出的一个过于质疑的问题,解决方案的执行复杂性与这种要求的必要性有所不同。以下是您可能的解决方案:
DLL注入+ DLL挂钩任务管理器和钩子API处理进程的枚举。关于这些主题,这里有很多问题和答案,所以在发布另一个新问题之前,请先阅读。
DKOM(直接内核对象操作),它要求您编写旧版WDM驱动程序并更改此类进程的EPROCESS
。我在这里进行了详尽的解释IRP_MJ_DEVICE_CONTROL to hide a process?
使用在x64之外无法正常工作的SSDT,并且由于索引从版本更改为版本以及从一个Service Pack更改为另一个,因此在更新后仍然不能保持工作。所以我个人不推荐最后一个。