`
mddr99mddr
  • 浏览: 15030 次
社区版块
存档分类
最新评论

vb 如果让系统不能结束你的进程

 
阅读更多

vb 如果让系统不能结束你的进程
2009年12月25日
  这个可以用双进程守护实现,代码如下:
  我保证可以实现 ,而且cpu使用率正常,不会像其他人写的双进程保护,占用了大量的资源
  新建工程1,添加command1和timer控件,直接复制代码,将这个程序保存为csrss.exe
  Option Explicit
  Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
  Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  Private Declare Function Module32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As MODULEENTRY32) As Long
  Private Declare Function Module32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As MODULEENTRY32) As Long
  Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  Private Type PROCESSENTRY32
  dwSize As Long
  cntUsage As Long
  th32ProcessID As Long
  th32DefaultHeapID As Long
  th32ModuleID As Long
  cntThreads As Long
  th32ParentProcessID As Long
  pcPriClassBase As Long
  dwFlags As Long
  szExeFile As String * 260
  End Type
  Const TH32CS_SNAPPROCESS = &H2
  Const TH32CS_SNAPmodule = &H8
  Private Type MODULEENTRY32
  dwSize As Long
  th32ModuleID As Long
  th32ProcessID As Long
  GlblcntUsage As Long
  ProccntUsage As Long
  modBaseAddr As Byte
  modBaseSize As Long
  hModule As Long
  szModule As String * 256
  szExePath As String * 1024
  End Type
  Private Sub Command1_Click()
  End
  End Sub
  Private Sub Form_Load()
  App.TaskVisible = False '不要在任务管理内显示
  End Sub
  Private Sub Timer1_Timer()
  Dim ret As Long, lPid As Long
  Dim isLive As Boolean
  Dim Mode As MODULEENTRY32, Proc As PROCESSENTRY32
  Dim hSnapshot As Long, hMSnapshot As Long
  Dim sFilename As String
  If Dir(App.Path + "\stop")  "" Then Exit Sub '如果当前文件夹内存在stop这个文件 则停止双进程保护
  sFilename = App.Path + "\smss.exe" '另一个进程的路径
  hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0)
  Proc.dwSize = Len(Proc)
  Mode.dwSize = Len(Mode)
  lPid = ProcessFirst(hSnapshot, Proc)
  Do While lPid  0
  hMSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPmodule, Proc.th32ProcessID)
  Mode.szExePath = Space$(256)
  ret = Module32First(hMSnapshot, Mode)
  If ret > 0 Then
  If InStr(1, Mode.szExePath, sFilename, vbTextCompare) > 0 Then 'Mode.szExePath=进程路径
  isLive = True '找到目标进程
  CloseHandle hMSnapshot
  Exit Do
  End If
  End If
  CloseHandle hMSnapshot
  lPid = ProcessNext(hSnapshot, Proc)
  Loop
  CloseHandle hSnapshot
  If Not isLive Then
  ShellExecute 0, "", sFilename, "", "", 1 '如果目标进程不存在 则启动它
  End If
  End Sub
  'timer的interval属性设置为1000
  新建工程2,添加command1和timer控件,直接复制代码,将这个程序保存为smss.exe
  Option Explicit
  Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
  Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  Private Declare Function Module32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As MODULEENTRY32) As Long
  Private Declare Function Module32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As MODULEENTRY32) As Long
  Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  Private Type PROCESSENTRY32
  dwSize As Long
  cntUsage As Long
  th32ProcessID As Long
  th32DefaultHeapID As Long
  th32ModuleID As Long
  cntThreads As Long
  th32ParentProcessID As Long
  pcPriClassBase As Long
  dwFlags As Long
  szExeFile As String * 260
  End Type
  Const TH32CS_SNAPPROCESS = &H2
  Const TH32CS_SNAPmodule = &H8
  Private Type MODULEENTRY32
  dwSize As Long
  th32ModuleID As Long
  th32ProcessID As Long
  GlblcntUsage As Long
  ProccntUsage As Long
  modBaseAddr As Byte
  modBaseSize As Long
  hModule As Long
  szModule As String * 256
  szExePath As String * 1024
  End Type
  Private Sub Command1_Click()
  End
  End Sub
  Private Sub Form_Load()
  App.TaskVisible = False '不要在任务管理内显示
  End Sub
  Private Sub Timer1_Timer()
  Dim ret As Long, lPid As Long
  Dim isLive As Boolean
  Dim Mode As MODULEENTRY32, Proc As PROCESSENTRY32
  Dim hSnapshot As Long, hMSnapshot As Long
  Dim sFilename As String
  If Dir(App.Path + "\stop")  "" Then Exit Sub '如果当前文件夹内存在stop这个文件 则停止双进程保护
  sFilename = App.Path + "\csrss.exe"
  hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0)
  Proc.dwSize = Len(Proc)
  Mode.dwSize = Len(Mode)
  lPid = ProcessFirst(hSnapshot, Proc)
  Do While lPid  0
  hMSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPmodule, Proc.th32ProcessID)
  Mode.szExePath = Space$(256)
  ret = Module32First(hMSnapshot, Mode)
  If ret > 0 Then
  If InStr(1, Mode.szExePath, sFilename, vbTextCompare) > 0 Then
  isLive = True
  CloseHandle hMSnapshot
  Exit Do
  End If
  End If
  CloseHandle hMSnapshot
  lPid = ProcessNext(hSnapshot, Proc)
  Loop
  CloseHandle hSnapshot
  If Not isLive Then
  ShellExecute 0, "", sFilename, "", "", 1
  End If
  End Sub
  'timer的interval属性设置为1000
  你实现了以上两步后,会发现任务管理器不能结束smss.exe 和csrss.exe
  其实仅仅要让任务管理期无法结束进程,那你把进程命名为关键进程就可以了,例如smss.exe csrss.exe winlogon.exe等
  对了,你要想结束这两个进程,新建一个stop文件夹,把两个程序拖进去,再点结束就可以了
分享到:
评论

相关推荐

    VB源代码 定时屏保 屏蔽进程 结束系统进程 提权 各种特效

    VB源代码 定时屏保 屏蔽进程 结束系统进程 提权 各种特效 ,我自己收集改写,有兴趣的可以自己完善

    系统进程扫描管理 For VB.NET 2008

    一个基于VB.NET2008开发的操作系统进程镜像列表、管理的源代码。可以扫描进程相关信息,更改进程优先级,同时支持多进程同时结束功能。

    vb进程管理(得到进程名和PID以及关闭、结束进程)

    用vb写的进程管理程序,虽然简单,但是实现方法很实用。可以得到系统的进程名及PID,并且可以关闭进程。

    VB以系统权限结束任意进程.txt

    Option Explicit Private Const MAX_PATH = 260 Private Const PROCESS_ALL_ACCESS = 1 Private Const TH32CS_SNAPHEAPLIST = &H1 Private Const TH32CS_SNAPPROCESS = &H2 Private Const TH32CS_SNAPTHREAD = &H4...

    VB终止、杀死进程的几个程序例子.rar

    VB终止、杀死进程的几个程序例子,附代码资料,一共7个包括强力杀死进程的例子代码,VB原版(可杀WINLOGON.EXE,不能杀冰刃),还有利用killBR杀死进程的,各有各的特色和方法,相信这些个源码够你参考学习了。

    jc.rar_VB6 结束进程_vb里的jc()

    vb6.0 开发的一个任务管理器,遇到系统必须进程自动阻止您结束,有效避免系统出错。

    VB强制关闭进程_结束PID

    内容索引:VB源码,系统相关,进程,PID VB强制关闭进程,输入你要结束的程序PID,点击“终止”即可结束,不知道PID的,可打开任务管理器查看,然后输入进去就行了。程序挺简单的,新手能看懂。

    VB试题.doc

    2.常量是指在程序运行过程中, 其值不能改变 的量。 3.整数类型数据分别包括整型和 长整型 数据。 4、在VB集成开发环境中,运行应用程序的方法有三种:一是_单击“运行 ”菜单下的启动_;二是_单击工具栏上的...

    进程保护,双进程互相保护,VB6.0实例源代码.rar

    进程保护,双进程互相保护,VB6.0实例源代码,好像以前发过一个英文的,原理大同小异,两进程互相保护,你结束这个,那个调用,结束那个,这个调用并运行,下载试试就明白了。这个是中文的,比较一下在写法上有什么...

    vb6 dll 注入

    首先确认你的操作系统为2k以上,否则程序不能将dll注入到其它线程中,甚至会出现其它问题。 文件夹中包含4个.rar压缩包、一个.exe文件和一个.dll文件,要演示程序可以直接运行.exe文件,在界面上点击『运行记事本...

    VB 隐藏进程 程序进程名在系统中隐藏

    可用于在系统中隐藏进程 打开任务管理器都看不到你程序的名字 这样就可以防止结束你的程序

    vb编写的一个杀进程的软件

    业务系统服务器上有个程序比较糟糕,老是因为网络的问题中断,必须通过结束进程后由业务系统的守护进程自动重启该程序。所以需要编写个自动杀进程的程序。(服务器的环境是win2000的)。本来想通过tskill(xp下面可以...

    《 vb 编 码 规 则 》

    VB的程序设计基础 VB编码规则 1. 语言元素 VB的语言基础是BASIC语言,VB程序的语言元素主要由:  关键字(如: Dim、Print、Cls)  函数(如:Sin()、Cos()Sqr())  表达式(如:Abs(-23.5)+45*20/3 )  ...

    双进程互相保护程序,基于VB完成的源代码.rar

    Vb双进程保护示例源程序,程序运行后,生成两个独立进程,结束一个进程 ,会重新启动一个新进程,你会发现进程管理器中始终有两个进程,总是结束不掉,以达到进程保护的功能。不过,在结束进程时先锁定EXE,或者选择...

    系统进程扫描管理源码

    系统进程扫描管理源码 一个基于VB.NET2008开发的操作系统进程镜像列表、管理的源代码。可以扫描进程相关信息,更改进程 优先级,同时支持多进程同时结束功能。

    VB+ACCESS大型机房学生上机管理系统(源代码+系统).zip

    全文共分为绪论、开发方法的选择、系统分析、系统设计、系统实施、结束语等六章。首先论述了该系统的开发背景和系统的简单介绍;然后,讨论了结构化生命周期法、原型法和面向对象这三种开发方法的技术,根据需要选择...

    vb下载者完美版 经典代码 模块化

    比较好的下载者vb原代码 进程结束 屏蔽杀软 自启动的方式可以稍加修改 相对代码比较好 值得学习

    强行结束WINCC办法

    wincc无法关闭时候,可以强制运行代码

    VB源码

    吸星大法本身效果BT,然后释放几率高达50%,所以两个人来回吸,你吸我一口我吸你一口,打个三五分钟都无法结束战斗。故本版本从几率和施放上限上削弱了吸星大法。本版本在增加普攻几率的同时,通过增加破甲基本攻击...

    依据VB+ACCESS大型机房学生上机管理系统(毕业设计源代码+系统)

    全文共分为绪论、开发方法的选择、系统分析、系统设计、系统实施、结束语等六章。首先论述了该系统的开发背景和系统的简单介绍;然后,讨论了结构化生命周期法、原型法和面向对象这三种开发方法的技术,根据需要选择...

Global site tag (gtag.js) - Google Analytics