Vb6 不间断Windows进程

Vb6 不间断Windows进程,vb6,windows-services,service,wmi,Vb6,Windows Services,Service,Wmi,我们正在从客户机启动一个新的自定义项目,其中一个要求是除非系统关闭、重新启动或注销,否则无法终止该过程 此应用程序监视USB接口。我们将使用WMI定期查询设备 客户端希望在Windows XP操作系统上运行应用程序,但不喜欢安装.NET。因此,我们将VisualBasic6作为我们的语言 我最担心的是这个申请不能被终止。我们的项目顾问谈到了反病毒,是的,有些反病毒是无法终止的。我在想如何在VisualBasic6中实现同样的功能。我知道该项目将涉及API,但我应该去哪里?所以API对我来说没问题

我们正在从客户机启动一个新的自定义项目,其中一个要求是除非系统关闭、重新启动或注销,否则无法终止该过程

此应用程序监视USB接口。我们将使用WMI定期查询设备

客户端希望在Windows XP操作系统上运行应用程序,但不喜欢安装.NET。因此,我们将VisualBasic6作为我们的语言

我最担心的是这个申请不能被终止。我们的项目顾问谈到了反病毒,是的,有些反病毒是无法终止的。我在想如何在VisualBasic6中实现同样的功能。我知道该项目将涉及API,但我应该去哪里?所以API对我来说没问题

我看了一些文章,这些文章将EXE转换为服务,在VisualBasic6中创建Windows服务,等等


所以请。。分享您的想法。

我想您应该考虑编写NT服务


此处的更多信息:

如果您想成为邪恶,可以调用(正式)未记录的NTDLL函数。如果进程被终止,这将立即停止机器。

如果没有某种内核模式挂钩(包括编写驱动程序),就无法创建无法终止的进程。您可能想研究rootkit:如果您对此感兴趣,那么就颠覆Windows内核。然而,即使使用内核模式挂钩,仍然有许多方法可以终止进程。另一种选择是使用用户模式挂钩,很容易绕过,但对于非常简单的项目来说已经足够了


您想要使用的解决方案将取决于您想要使用终端保护走多远。即使你成功地阻止了进程终止,也可能有一些方法阻止你的应用程序正常工作,例如关闭WMI服务。

现在用VB6编码真的很令人沮丧,特别是我用C语言写了两年,虽然我用VB6写了5年


向后移动是一件痛苦的事情,就像我正在开始一种新的编程语言一样。

老实说,您正在尝试在VB6中做一些它实际上并不擅长的事情。 当你说“不能终止”时,你是什么意思?有几个层次: a) 应用程序显示一个窗口,但用户不能用X按钮关闭它,或者它不显示窗口 b) 应用程序没有显示窗口或可能位于任务托盘中 c) 应用程序不显示窗口,无法从任务管理器的“应用程序”选项卡关闭 d) 无法从任务管理器的进程列表中关闭应用程序

(a) 和(b)可能是在VB中最容易实现的。(c) 这仍然是可能的,但越来越难看。(d) 让你进入黑客领域,如果你真的做到了,你几乎肯定会感到不快


如果你真的需要阻止用户关闭,那么你可能会或多或少地对其进行攻击,但真正的答案正如其他人所说的那样——系统服务(这正是他们想要的srt)。然而,这是VB6不擅长的一件事,因此解决问题的最佳方法是c#。

谢谢。但是关于NTvc.ocx有一些问题。但是只要Visual Basic 6安装程序到达,我们就想尝试一下。现在,请大家一起思考一下。您可能还对这个关于如何在VB6上编写服务的问题感兴趣。不,我不想那样。这两个客户端都不希望这样。您可能还对如何在VB6上编写服务的问题感兴趣“如果没有某种内核模式挂钩,您无法创建无法终止的进程”是的,我从一开始就知道这一点。我想创建一个监控主应用程序的第二个应用程序,或者只是创建一个系统计划来定期检查主应用程序。@wj32:Hi..回答得很好..我知道挂钩(TSR)…我在Like上发布了一个类似的问题:。。。我请求你也回答我的问题…谢谢。