成都创新互联网站制作重庆分公司

vb.net结束多个进程 vb结束指定进程

如何用vb结束任务管理器的进程。如(explorer.exe)

很简单,并不需要用API函数,直接调用命令提示符(Cmd.exe)来结束进程。

站在用户的角度思考问题,与客户深入沟通,找到金州网站设计与金州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟空间、企业邮箱。业务覆盖金州地区。

Private

Sub

Command1_Click()

Shell

"cmd.exe

/c

taskkill

/im

taskmgr.exe

/f",

vbHide

End

Sub

这段代码是用来结束任务管理器(taskmgr.exe)的进程的。你可以将代码中的“taskmgr.exe”改成任意一个程序进程的名字,用来结束它。

代码解释:

Shell

"cmd.exe

/c"

:调用命令提示符。

taskkill

/im

taskmgr.exe

/f

:会用批处理的都知道,这个就是结束进程的命令。

vbHide:隐藏命令提示符运行时的窗口。

vb.net如何彻底退出进程?

主窗体代码调用Me.close不就可以了吗?或者在任意代码处调用Application.Exit()。如果不起作用的话是因为你在窗体关闭的事件中调用了e.Handle=True

vb.net 如何完全关闭子窗口的所有进程?在线等~

这样的话你就不要直接把子窗口show出来,先在父窗口创建一个子窗口对象的变量,通过实例化该变量达到创建子窗口的目的,然后在下次又要打开子窗口时也可以通过该变量关闭原有的子窗口

示例代码如下(假设Form1为父窗口,Form2为子窗口):

Form1的代码:

Public

Class

Form1

Dim

nform

As

Form2

=

Nothing

Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

e

As

System.EventArgs)

Handles

Button1.Click

If

nform

IsNot

Nothing

Then

nform.Close()

nform.Dispose()

End

If

nform

=

New

Form2

nform.Show()

Me.Hide()

End

Sub

End

Class

通过nform变量,你可以很轻易就处理掉原来已经打开但隐藏着的子窗口了

Vb 多进程技术

调用 2.exe 用 shell 方法就可以了.不用多说.

至于检测 5个 2.exe 是否全都结束的方法,可以在 1.exe 中添加1个TIMER ,设定每隔1秒遍历系统进程表.]

找出系统进程中 2.exe 的个数,若为 0个 则显示"处理完成"

遍历进程需要调用API:

Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long

Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Public 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

Const MAX_PATH As Integer = 260

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 * MAX_PATH

End Type

Const TH32CS_SNAPheaplist = H1

Const TH32CS_SNAPPROCESS = H2

Const TH32CS_SNAPthread = H4

Const TH32CS_SNAPmodule = H8

Public Const TH32CS_SNAPall = TH32CS_SNAPPROCESS + TH32CS_SNAPheaplist + TH32CS_SNAPthread + TH32CS_SNAPmodule

'下面的"GetCount" 函数用于返回 2.exe 的个数:

Public Function GetCount()

Dim i As Long, lPid As Long

Dim k As Long

Dim Proc As PROCESSENTRY32

Dim hSnapShot As Long

hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPall, 0) '获得进程“快照”的句柄

Proc.dwSize = Len(Proc)

lPid = ProcessFirst(hSnapShot, Proc) '获取第一个进程的PROCESSENTRY32结构信息数据

i = 0

k = 0

Do While lPid 0

If InStr(1, Proc.szExeFile, "2.exe", vbTextCompare) 0 Then

k = k + 1

End If

i = i + 1

lPid = ProcessNext(hSnapShot, Proc) '循环获取下一个进程的PROCESSENTRY32结构信息数据

Loop

CloseHandle hSnapShot '关闭进程“快照”句柄

IsDone = k

End Function

Vb任务管理器结束进程树命令

束进程”与“结束进程树”是用来结束一个或多个进程用的。进程树也许你是头回听说,我这里想解释一下。所谓进程树实际上就是一组进程,而这一组进程(子进程)是由一个进程(父进程)创建的。当你选择“结束进程树”的时候,会将这一组进程都全部结束掉。强烈推荐结束父进程的时候使用这个功能。这样才能保证进程释放所有资源,不出现僵进程(哇,什么是僵进程?坏了,越说越多了。大家只要知道这个概念就可以:子进程需要由父进程释放,当子进程运行结束,而父进程还没有来得及释放的等待过程中,子进程是处于僵进程状态。)。


分享名称:vb.net结束多个进程 vb结束指定进程
分享路径:http://cxhlcq.com/article/hgepgg.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部