Sub morelisa()
morelvw.ListItems.Clear ''''清空列表,初始化
morelvw.ColumnHeaders.Clear ''''清空表头,初始化
morelvw.ColumnHeaders.Add , , "模块名称", 2000 '''添加到表头第一项,有顺序的
morelvw.ColumnHeaders.Add , , "模块路径", 4000
morelvw.ColumnHeaders.Add , , "bbbbb", 1000 ''''
morelvw.ColumnHeaders.Add , , "bbbbb", 1000 ''
morelvw.ColumnHeaders.Add , , "bbbbb", 1000 ''''
morelvw.ColumnHeaders.Add , , "模块ID", 1000 ''
morelvw.LabelEdit = lvwManual
morelvw.FullRowSelect = True
morelvw.HideSelection = False
morelvw.HideColumnHeaders = False
morelvw.View = lvwReport
Dim lpproc As PROCESSENTRY32
Dim lppe As MODULEENTRY32
Dim hSnapshot As Long
Dim mh As String
Dim l As Long
Dim i As Integer
Dim morlvw As ListItem
morelvw.ListItems.Clear
lpproc.dwSize = Len(lpproc)
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapshot > 0 Then
lpproc.dwSize = Len(lpproc)
If Process32First(hSnapshot, lpproc) Then
Do
'获得进程的标识符
l = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, lpproc.th32ProcessID)
If l > 0 Then
lppe.dwSize = Len(lppe)
If Module32First(lm, lppe) Then
Do
If "&H" & (lvw.ListItems(i).SubItems(5)) = lppe.th32ProcessID Then
Do While moduresult
i = InStr(1, lppe.szExePath, Chr(0))
mh = LCase$(Left$(lppe.szExePath, i - 1))
Set morlvw = morelvw.ListItems.Add(, , Text:=mh)
morlvw.SubItems(5) = Hex(lppe.ProccntUsage)
morlvw.SubItems(4) = Hex(lpproc.th32ProcessID)
morlvw.SubItems(3) = lppe.GlblcntUsage
morlvw.SubItems(2) = lppe.th32ModuleID
morlvw.SubItems(1) = lppe.th32ProcessID
moduresult = Module32Next(hSnapshot, lppe)
Loop
End If
Loop Until (Module32Next(l, lppe) < 1)
End If
CloseHandle (l)
End If
Loop Until (Process32Next(hSnapshot, lpproc) < 1)
End If
CloseHandle (hSnapshot)
End If
End Sub
是什么地方错了?请教!为什么没有报错也没有反应呢!morelvw,lvw ---listview
morelvw.ListItems.Clear ''''清空列表,初始化
morelvw.ColumnHeaders.Clear ''''清空表头,初始化
morelvw.ColumnHeaders.Add , , "模块名称", 2000 '''添加到表头第一项,有顺序的
morelvw.ColumnHeaders.Add , , "模块路径", 4000
morelvw.ColumnHeaders.Add , , "bbbbb", 1000 ''''
morelvw.ColumnHeaders.Add , , "bbbbb", 1000 ''
morelvw.ColumnHeaders.Add , , "bbbbb", 1000 ''''
morelvw.ColumnHeaders.Add , , "模块ID", 1000 ''
morelvw.LabelEdit = lvwManual
morelvw.FullRowSelect = True
morelvw.HideSelection = False
morelvw.HideColumnHeaders = False
morelvw.View = lvwReport
Dim lpproc As PROCESSENTRY32
Dim lppe As MODULEENTRY32
Dim hSnapshot As Long
Dim mh As String
Dim l As Long
Dim i As Integer
Dim morlvw As ListItem
morelvw.ListItems.Clear
lpproc.dwSize = Len(lpproc)
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapshot > 0 Then
lpproc.dwSize = Len(lpproc)
If Process32First(hSnapshot, lpproc) Then
Do
'获得进程的标识符
l = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, lpproc.th32ProcessID)
If l > 0 Then
lppe.dwSize = Len(lppe)
If Module32First(lm, lppe) Then
Do
If "&H" & (lvw.ListItems(i).SubItems(5)) = lppe.th32ProcessID Then
Do While moduresult
i = InStr(1, lppe.szExePath, Chr(0))
mh = LCase$(Left$(lppe.szExePath, i - 1))
Set morlvw = morelvw.ListItems.Add(, , Text:=mh)
morlvw.SubItems(5) = Hex(lppe.ProccntUsage)
morlvw.SubItems(4) = Hex(lpproc.th32ProcessID)
morlvw.SubItems(3) = lppe.GlblcntUsage
morlvw.SubItems(2) = lppe.th32ModuleID
morlvw.SubItems(1) = lppe.th32ProcessID
moduresult = Module32Next(hSnapshot, lppe)
Loop
End If
Loop Until (Module32Next(l, lppe) < 1)
End If
CloseHandle (l)
End If
Loop Until (Process32Next(hSnapshot, lpproc) < 1)
End If
CloseHandle (hSnapshot)
End If
End Sub
是什么地方错了?请教!为什么没有报错也没有反应呢!morelvw,lvw ---listview
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货