社区
VB
帖子详情
如何显示进程,并能删除进程。
chinamagic
2004-09-03 09:11:53
不知道各位高手有没有现成的代码或例子。
...全文
236
2
打赏
收藏
如何显示进程,并能删除进程。
不知道各位高手有没有现成的代码或例子。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chinamagic
2004-09-03
打赏
举报
回复
谢谢
rickjelly2004
2004-09-03
打赏
举报
回复
首先通过CreateToolhelp32Snapshot函数创建一个进程的快照,然后通过调用Process32First使用快照返回的句柄对进程进行遍历,相关的信息存放在PROCESSENTRY32结构类型的实例中,然后显示出来。
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
Windows
进程
常用DLL模块注入技术
课程结合多种Windows
进程
常用DLL注入技术。远程线程注入APC注入,异步调用过程,向目标线程插入待执行任务从而完成注入。窗口消息注入,指定窗口
进程
注入,与全局钩子注入类似。环境块注入,获取
进程
上下文信息,直接性修改程序执行流程完成注入。
进程
入口点注入,在程序初始化的时机前将dll模块文件注入至目标主线程。
进程
调试级注入,涉及调试器相关功能调用知识点dll模块重定位内存注入,模拟操作系统加载PE文件方式,直接将dll文件内存数据写入目标
进程
并执行。导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入表、增加导出函数,修复表项数据等。内核驱动级Dll模块注入技术,内核驱动入门扩展。
查看
进程
并
删除
进程
1、用nvidia-smi也好,top也好都找不到kill掉的
进程
了,但是显存仍然占用没有被释放,怎么办呢?毕竟top也找不到
进程
号呀 用以下指令查找出top没有而他有的
进程
fuser -v /dev/nvidia* 逐个kill掉top中不
显示
的
进程
就可以了 2、pytorch杀不干净 ps aux|grep lk|grep python|awk '{print $2}'|xargs kill 3、更加暴力的方法是直接
删除
该用户的所有的
进程
,这时候该用户的所有
进程
都没了 killall -u usr
linux如何
删除
进程
,Linux查看和
删除
进程
一、查看和
删除
进程
ps 命令用于查看当前正在运行的
进程
。grep 是搜索ps -ef | grep java表示查看所有
进程
里CMD是java的
进程
信息ps -aux | grep java-aux
显示
所有状态kill 命令用于终止
进程
kill -9 [PID]-9 表示强迫
进程
立即停止通常用ps查看
进程
PID,用kill命令终止
进程
二、PS命令简介ps 命令就是最根本相应情况下也是相当强大的进...
ps命令 –
显示
进程
状态
ps命令是“process status”的缩写,ps命令用于
显示
当前系统的
进程
状态。可以搭配kill指令随时中断、
删除
不必要的程序。 ps命令是最基本同时也是非常强大的
进程
查看命令,使用该命令可以确定有哪些
进程
正在运行和运行的状态、
进程
是否结束、
进程
有没有僵死、哪些
进程
占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。 语法格式:ps [参数] 常用参数: -a
显示
所有终端机下执行的程序,除了阶段作业领导者之外 a
显示
现行终端机下的所有程序,包括其他用户的程
Linux 命令之 ps --
显示
进程
状态/查看
进程
信息
介绍 ps 命令是“process status”的缩写,ps 命令用于
显示
当前系统的
进程
状态。可以搭配kill指令随时中断、
删除
不必要的程序。 ps 命令是最基本同时也是非常强大的
进程
查看命令,使用该命令可以确定有哪些
进程
正在运行和运行的状态、
进程
是否结束、
进程
有没有僵死、哪些
进程
占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。 ps [选项] 常用选项 选项 说明 -a
显示
所有终端机下执行的程序,除了阶段作业领导者之外。 a
显示
现行终端机下的所有程序,包括其他用
VB
16,555
社区成员
110,528
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章