怎么能快速方便的获得当前的进程数目?
解决方案 »
- 实时错误'-2147467259(80004005)':无法从指定的数据表中删除。
- vb链接数据库关闭的问题
- 【难题高手】在VB中使用SubClass崩溃了!~
- 如何快速比较两个String数组的异同,并找出不同
- 我装的VB怎么不能使用MSHFLEXGRID控件
- 请问bAdd=true是什么意思
- 实在找不出原因,到底错在哪里呢?(一个adodc1,DataGrid1和一个text)
- 用户登陆 .close对象关闭的错误
- 如何利用ADO创建一个和EXCEL数据的连接
- ****<<<<<< 注意:请大家不要向Wuxyingshu学习在VB灌水,灌水到水库去,小孩淹了怎么办?>>>>>=============
- 有谁知道在哪里可以下载清华刘炳文编写的《Visual Basic程序设计教程》的word或Powerpoint讲稿?
- 谁有图像二值化的代码?
Process32First
Process32Next
Dim proc As PROCESSENTRY32
Dim snap As Long
'Dim exename As String
lvw.ListItems.Clear 'clear listview contents
snap = CreateToolhelpSnapshot(TH32CS_SNAPall, 0) 'get snapshot handle
proc.dwSize = Len(proc)
theloop = ProcessFirst(snap, proc) 'first process and return value
i = 0
While theloop <> 0 'next process
'exename = proc.szExeFile
'ret = lvw.ListItems.Add(, "first" & CStr(i), exename) 'add process name to listview
'lvw.ListItems("first" & CStr(i)).SubItems(1) = proc.th32ProcessID 'add process ID to listview
i = i + 1
theloop = ProcessNext(snap, proc)
Wend
MsgBox i
CloseHandle snap
我找到了,自己说算了
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 LongPrivate 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
Dim my As PROCESSENTRY32
Dim l As Long
Dim l1 As Long
Dim ProcessNum as integer
l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
If l Then
my.dwsize = 1060 If (Process32First(l, my)) Then '遍历第一个进程
Do
ProcessNum =ProcessNum +1
Loop Until (Process32Next(l, my) < 1) '遍历所有进程知道返回值为False
End If
l1 = CloseHandle(l)
End If
不信试验一下。