VB.NET实现超级ptm查看器(2)
2008-04-09 04:43:14来源:互联网 阅读 ()
.Add(myProcesses(zj).PeakVirtualMemorySize & "峰值虚拟内存大小")
.Add(myProcesses(zj).PrivateMemorySize & "专用内存大小")
.Add(myProcesses(zj).StartTime & "进程启动的时间")
.Add(myProcesses(zj).TotalProcessorTime.Seconds & "进程的总的处理器时间")
.Add(myProcesses(zj).UserProcessorTime.Seconds & "进程的用户处理器时间")
.Add(myProcesses(zj).VirtualMemorySize & "进程的虚拟内存大小")
End With
ListBox3.Items.Clear()
TabPage1.Text = "进程" & ListBox1.Items.Item(zj) & "的基本信息"
TabPage2.Text = "进程" & ListBox1.Items.Item(zj) & "相关的线程信息"
TabPage3.Text = "进程" & ListBox1.Items.Item(zj) & "相关的模块信息"
'/////////////////////////////////////////////
f = myProcesses(zj).Threads.Count
Label4.Text = "进程" & ListBox1.Items.Item(zj) & "共有" & f & "个相关的线程,线程ID信息如下:"
Dim int, pk, m, n
For n = 0 To f - 1
ListBox3.Items.Add(myProcesses(zj).Threads(n).Id)
Next
'///////////////////////////////////////
ListBox5.Items.Clear()
Dim zha, kl
zha = myProcesses(zj).Modules.Count
Label5.Text = "与进程" & ListBox1.Items.Item(zj) & "共有" & zha & "个相关的模块,模块位置信息如下:"
For kl = 0 To zha - 1
ListBox5.Items.Add(myProcesses(zj).Modules(kl).FileName)
Next
End Sub
Private Sub ListBox3_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox3.DoubleClick
ListBox4.Items.Clear()
Dim f, n
f = myProcesses(zj).Threads.Count
n = ListBox3.SelectedIndex
Label6.Text = "线程" & ListBox3.Items.Item(n) & "相关信息"
With ListBox4.Items‘与进程相关的线程信息见System.Diagnostics.processThread类。因为Processes.threads属性是返回thread对象数组而thread对象数组的实例是由ProcessThread类来创建,thread对象数组的信息是包含在System.Diagnostics. ProcessThread类中。
.Add(myProcesses(zj).Threads(n).BasePriority)
.Add(myProcesses(zj).Threads(n).CurrentPriority)
.Add(myProcesses(zj).Threads(n).PriorityLevel)
.Add(myProcesses(zj).Threads(n).PrivilegedProcessorTime)
.Add(myProcesses(zj).Threads(n).StartTime)
.Add(myProcesses(zj).Threads(n).ThreadState.ToString)
.Add(myProcesses(zj).Threads(n).TotalProcessorTime.Seconds)
.Add(myProcesses(zj).Threads(n).UserProcessorTime.Seconds)
.Add(myProcesses(zj).Threads(n).WaitReason.ToString)
End With
End Sub
Private Sub ListBox5_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox5.DoubleClick
ListBox6.Items.Clear()
Dim f, n, m
f = myProcesses(zj).Modules.Count
n = ListBox5.SelectedIndex
Label7.Text = "模块" & ListBox5.Items.Item(n) & "相关信息"
With ListBox6.Items‘与进程相关的模块信息见System.Diagnostics. ProcessModule类,因为Processes.Modules属性是返回Modules对象数组而Modules对象数组的实例是由ProcessModule类来创建,Modules对象数组的信息是包含在System.Diagnostics. ProcessModule类中。
m = Hex(myProcesses(zj).Modules(n).BaseAddress.ToInt32)‘转换成16进制
.Add(m)
m = Hex(myProcesses(zj).Modules(n).EntryPointAddress.ToInt32)
.Add(m)
.Add(myProcesses(zj).Modules(n).FileVersionInfo)
.Add(myProcesses(zj).Modules(n).ModuleMemorySize)
.Add(myProcesses(zj).Modules(n).ModuleName)
End With
End Sub
End Class 这下就大工告成了,最后对程做一点补充说明,各位读者,当你知道了如何编写这个程序时,你可能会想如果只是写一个单纯的这个程序你可能会觉得没什么意义,那如何才可以将这段程序发挥他更大的意义?就让我来告诉你。其实这段代码并不是我刻意编写的,而是一个局域网中的远程控制的一部分。扫描客户机上运行的进程,查看客户机的资源,将获得的信息发个服务器,并可以通过Processes类来关闭客户机上的进程,以便管理者对客户机进行管理。此外写这篇文章的另一个目的是希望读者更快的掌握.net中System.Diagnostics.Process,System.Diagnostics.processThread,System.Diagnostics. ProcessModule类。在vb.net和win2000通过 。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:VB.NET注册表编程
下一篇:VB串口使用心得两则
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
