`
javatoyou
  • 浏览: 1018831 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

显示进程、关闭进程

阅读更多
首先通过CreateToolhelp32Snapshot函数创建一个进程的快照,然后通过调用Process32First使用快照返回的句柄对进程进行遍历,相关的信息存放在PROCESSENTRY32结构类型的实例中,然后显示出来。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Winxp+vb6+sp6

代码如下:

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long

Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

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

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _

ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long

Private Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, _

ByVal uExitCode 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 * 1024

End Type

Const TH32CS_SNAPHEAPLIST = &H1

Const TH32CS_SNAPPROCESS = &H2

Const TH32CS_SNAPTHREAD = &H4

Const TH32CS_SNAPMODULE = &H8

Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)

Const TH32CS_INHERIT = &H80000000

'添加listview控件,3个按钮

'删除listview中选定的进程

Private Sub Command2_Click()

If MsgBox("你想删除 " & ListView1.SelectedItem.SubItems(2) & " 进程?", vbYesNo + vbQuestion) <> vbYes Then

Exit Sub

End If

Dim mProcID As Long

mProcID = OpenProcess(1&, -1&, ListView1.SelectedItem)

TerminateProcess mProcID, 0&

DoEvents

ListView1.ListItems.Remove (ListView1.SelectedItem.Index)

ListView1.Refresh

End Sub

'得到进程填充listview

Private Sub Command1_Click()

Dim my As PROCESSENTRY32

Dim l As Long

Dim l1 As Long

Dim mlistitem As ListItem

' List1.Clear

l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

If l Then

my.dwSize = 1060

If (Process32First(l, my)) Then '遍历第一个进程

Do

Set mlistitem = ListView1.ListItems.Add(, , my.th32ProcessID)

mlistitem.SubItems(1) = my.th32ParentProcessID

mlistitem.SubItems(2) = my.szExeFile

Loop Until (Process32Next(l, my) < 1) '遍历所有进程知道返回值为False

End If

l1 = CloseHandle(l)

End If

End Sub

Private Sub Form_Load()

ListView1.ListItems.Clear

ListView1.ColumnHeaders.Clear

ListView1.FullRowSelect = True

ListView1.ColumnHeaders.Add , , "Process ID", 1500

ListView1.ColumnHeaders.Add , , "Process Parent ID", (1500)

ListView1.ColumnHeaders.Add , , "Name", (Me.Width - 3200)

ListView1.View = lvwReport

End Sub

'循环检测进程中是否有指定进程,如果有,关闭,如果没有,启动一个程序

Private Sub Command3_Click()

Dim my As PROCESSENTRY32

Dim l As Long

Dim l1 As Long

Dim flag As Boolean

Dim mName As String

Dim i As Integer

l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

If l Then

my.dwSize = 1060

If (Process32First(l, my)) Then '遍历第一个进程

Do

i = InStr(1, my.szExeFile, Chr(0))

mName = LCase(Left(my.szExeFile, i - 1))

If mName = "winword.exe" Then

PID = my.th32ProcessID

pname = mName

MsgBox "找到word"

If MsgBox("你想删除 " & mName & " 进程?", vbYesNo + vbQuestion) <> vbYes Then

Exit Sub

End If

Dim mProcID As Long

mProcID = OpenProcess(1&, -1&, PID)

TerminateProcess mProcID, 0&

flag = True

Exit Sub

Else

flag = False

End If

Loop Until (Process32Next(l, my) < 1) '遍历所有进程知道返回值为False

End If

l1 = CloseHandle(l)

End If

If flag = False Then

MsgBox "没有找到word"

Shell "c:\Program Files\Microsoft Office\Office\WINWORD.EXE", vbNormalFocus

End If

End Sub

分享到:
评论

相关推荐

    定时进程关闭器 2.08 破解版

    2. 定时关闭进程 3. 定时关机 4. 系统启动时运行 5. 自动加载任务,保存任务,加载任务 6. 调整系统时间 7. 显示系统的所有进程 8. 其它功能: *打开及关闭进程无数量限制 *支持多进程设置不同时间关闭 *...

    强制结束进程(ForceEnd)1.1.4一款快速强制终止一些顽固的进程软件

    ForceEnd 是一款简单易用的程序,可显示所有正在运行的进程,强制关闭和重新启动进程,对列表进行排序或更新,手动输入名称查找要终止的进程,快速强制终止一些顽固的进程。 同时使用多个程序时,有时您可能很难...

    VC 显示窗口进程ID窗口名以及MessageBox定时自动关闭

    VC实现系统运行窗口的进程ID、窗口名、窗口类以及MessageBox实现定时自动关闭

    操作系统课程设计—进程控制

    其他的可显示当前进程信息的API函数如GetStartupInfo()和GetProcessShutdownParameters() 可给出进程的配置信息。 通常,一个进程需要它的运行期环境的信息。例如API函数GetModuleFileName() 和GetCommandLine() ,...

    操作系统实验实验进程管理

    其他的可显示当前进程信息的API函数还有GetStartupInfo()和GetProcessShutdownParameters() ,可给出进程存活期内的配置详情。 通常,一个进程需要它的运行期环境的信息。例如API函数GetModuleFileName() 和...

    隐藏及显示所有进程的模块

    提升进程权限,GetCurrentProcess,打开令牌,恢复权限,获取令牌特权,枚举所有进程,隐藏进程,ID取进程,进程取ID,创建进程快照,第一个进程指针,下一个进程指针,关闭进程快照,打开进程,GetProcessMemoryInfo,...

    WinCE 终止进程,WinCE嵌入式开发进程管理类

    我自己重写的一个Process 进程管理类.你们懂的 提供静态方法获取WinCE机上所有运行进程.打开关闭、指定进程.. 提供方法显示某个进程的进程名称、进程ID、进程数以及进程地址

    进程防火墙 v18

    8、不知道进程关闭窗口:在任务管理器找不到该进程可以使用[不知道进程关闭窗口]进行关闭进程。9、进程加密窗口:进程再打开时都会跳出一个密码输入框输对,密码才能打开。10、系统密码保护:进程再修改系统密码时会...

    top命令 实时显示进程动态

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。 在top命令中按f按可以查看显示的列信息,按对应字母来开启/关闭列,大写字母表示开启,小写字母表示关闭。...

    计算机进程查看器.rar

    本源码是一个计算机进程查看器源码,采用winform进行开发,实现了计算机的进程查看并关闭的功能,可查看本地电脑所有进程信息,并显示当前选取状态下进程的详细内容,包括进程名称、版本、路径、调用的模块等相关...

    天使进程管理器 v3.3

    并根据实际应用需要,增加了进程快照保存、精简进程、进程文件属性查看、快速进入进程所在文件目录、直接复制、删除进程文件、上网搜索进程相关资料、分色显示不同类别进程、指出进程类别、显示进程相关信息,...

    计算机进程查看器 1.0.rar

    本源码是一个计算机进程查看器源码,采用winform进行开发,实现了计算机的进程查看并关闭的功能,可查看本地电脑所有进程信息,并显示当前选取状态下进程的详细内容,包括进程名称、版本、路径、调用的模块等相关...

    获得当前计算机系统内某个进程并关闭.txt

    获得当前计算机系统内某个进程并关闭.详细注释

    ECQ-PS进程管理

    在ECQ-PS程序窗口中,用户可在“类型”列看到进程的类型,对于一些不明的进程将会以“可疑”类型显示,当确定其为危险程序时,可在其上单击鼠标右键,然后在弹出的菜单中单击“强行结束进程”命令,关闭该程序。...

    AProMan-以命令行方式查看、关闭进程

    cAProMan.exe -a 显示所有进程 cAProMan.exe -p 显示端口进程关联关系(需Administrator权限) cAProMan.exe -t [PID] 杀掉指定进程号的进程 cAProMan.exe -f [FileName] 把进程及模块信息存入文件

    c#进程守护软件-附源码

    10、增加进程调用的部分日志显示框,主要是调试方便,日志超过30行自动清屏,未保存,可修改代码关掉或不显示,evertlog目录下多余的日志关掉了,仍然有小部分日志,,如有必要自行在代码中关掉即可。 11、底部增加...

    定时进程关闭器

    1. 定时打开进程、执行文件等... 2. 定时关闭进程 3. 定时关机 4. 系统启动时运行 5. 自动加载任务,保存任务,加载任务 6. 调整系统时间 7. 显示系统的所有进程 8. 其它功能: *打开及关闭进程无数量限制

    显示和杀死系统当前进程

    此代码示范了如何利用 CreateToolhelp32Snapshot API函数枚举系统当前进程。以及如何用HANDLE OpenProcess(...),TerminateProcess(...)来打开和关闭活动进程。

    强力进程管理工具

    3 显示进程真实位置 4 8种结束进程方法 5 暂停和恢复进程功能 6 隔离进程 7 删除进程 8 删除并阻止文件再生 9 重启删除功能 10 永久禁止程序运行 11 判断数字签名 12 运行EXE程序 13 搜索句柄和模块 14 自动更新进程...

    计算机进程查看器源码 ProcessView.rar

    本源码是一个计算机进程查看器源码,可查看本地电脑所有进程信息,并显示当前选取状态下进程的详细内容,包括进程名称、版本、路径、调用的模块等相关信息。与计算机任务管理器功能相同,但显示的信息较为完善。...

Global site tag (gtag.js) - Google Analytics