vb.net禁止结束进程 vb 结束进程

VB编写的VBS如何防止别人结束进程

在你的脚本中加入:strComputer = "."

成都创新互联公司是一家以网站建设公司、网页设计、品牌设计、软件运维、成都网站推广、小程序App开发等移动开发为一体互联网公司。已累计为咖啡厅设计等众行业中小客户提供优质的互联网建站和软件开发服务。

Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")objProcess.Create("wscript.exe C:\PRO.VBS")

Set objWMIService = GetObject("winmgmts:" _

"{impersonationLevel=impersonate}!\\" strComputer "\root\cimv2")

Set colMonitoredProcesses = objWMIService. _

ExecNotificationQuery("select * from __instancedeletionevent " _

"within 1 where TargetInstance isa 'Win32_Process'")

i = 0

Do While i = 0

Set objLatestProcess = colMonitoredProcesses.NextEvent

if instr(ucase(objLatestProcess.TargetInstance.commandline),"C:\PRO.VBS") then

objProcess.Create("wscript.exe C:\PRO.VBS")

end if

Loop

其中C:\PRO.VBS就是起保护作用的脚本路径,你可以自行建立(C:\PRO.VBS必须要大写) 现在新建一个保护脚本,路径和上面的C:\PRO.VBS要一致strComputer = "."

Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")Set objWMIService = GetObject("winmgmts:" _

"{impersonationLevel=impersonate}!\\" strComputer "\root\cimv2")

Set colMonitoredProcesses = objWMIService. _

ExecNotificationQuery("select * from __instancedeletionevent " _

"within 1 where TargetInstance isa 'Win32_Process'")

i = 0

Do While i = 0

Set objLatestProcess = colMonitoredProcesses.NextEvent

if instr(ucase(objLatestProcess.TargetInstance.commandline),"C:\TEST.VBS") then

objProcess.Create("wscript.exe C:\TEST.VBS")

end if

Loop其中C:\TEST.VBS,就是你的主脚本路径,根据实际情况该写,但是C:\TEST.VBS需要大写 直接运行你的主脚本C:\TEST.VBS即可,不需要你手动运行保护脚本

怎样才能用VB.NET的代码来关闭一个在运行的程序

软糖来回答罗:通过System.Diagnostics命名空间下的Process类来关闭程序的进程

Dim 进程集合 = Process.GetProcessesByName("进程名称")

For Each 进程 In 进程集合

进程.Kill()

'进程.Close() '或者使用关闭

Next

也可以先获取所有进程,再来判断这些进程的名称ProcessName

Dim 获取本地所有进程 = Process.GetProcesses()

For Each 进程 In 获取本地所有进程

If 进程.ProcessName = "explorer.exe" Then 进程.Kill()

Next

vb.net 怎么结束进程

好像不难吧?

我放进了Button1的Click事件里。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

On Error GoTo Errmessages '在做系统操作时加排错标签是个好习惯

Dim TargetName As String = "ibmdict" '存储进程名为文本型,注:进程名不加扩展名

Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '从进程名获取进程

Dim TargetPath As String '存储进程路径为文本型

If TargetKill.Length 1 Then '判断进程名的数量,如果同名进程数量在2个以上,用For循环关闭进程。

For i = 0 To TargetKill.Length - 1

TargetPath = TargetKill(i).MainModule.FileName

TargetKill(i).Kill()

Next

ElseIf TargetKill.Length = 0 Then '判断进程名的数量,没有发现进程直接弹窗。不需要的,可直接删掉该If子句

MsgBox("没有发现进程!")

Exit Sub

ElseIf TargetKill.Length = 1 Then '判断进程名的数量,如果只有一个,就不用For循环

TargetKill(0).Kill()

End If

MsgBox("已终止" TargetKill.Length "个进程") '弹窗提示已终止多少个进程

Errmessages: ‘定义排错标签

If Err.Description Nothing Then ’判断有无错误,如果有,则 ↓

MsgBox(Err.Description) '当出现错误时,弹窗提示

End If

End Sub

可根据需要自行修改,这个备注够完善了吧?不会的再Hi我。

VB怎样防止被结束进程

远程注入,通过注入的DLL监视进程的结束 如果结束就重新调回来。

或者HOOK OpenProcess与TerminateProcess这两个函数来防止任务管理器结束进程


名称栏目:vb.net禁止结束进程 vb 结束进程
文章网址:http://cdiso.cn/article/hijhhj.html

其他资讯