国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

用實例講述VB.NET Process類

開發 后端
這里介紹VB.NET Process類,使用VB.NET Process類,可以獲取當前運行的進程的列表,或者啟動新的進程。VB.NET Process類用于訪問系統進程。初始化VB.NET Process類后,可使用該類來獲取有關當前運行的進程的信息。

在向大家詳細介紹VB.NET Process類之前,首先讓大家了解下ptm是什么,然后全面介紹VB.NET Process類。首先對文章名做一個解示,p是代表Process,即進程,t是代表Thread,即線程,m是代表Module,即模塊。

在 win nt,win 2000,win xp中都有一個性能查看器,我們可以用它來查看計算機上正在運行的程序,獲得與程序相關的主窗口名,和查看cpu和內存,虛擬頁面的使用情況。但是對于更高要求的計算機使用人員來說,這些是不夠的,特別是一些diy的發燒友,他們希望自己可以隨時對自己的計算機進行查看,了解更多的信息從而可以知道自己的計算機是否應該升級了,是否該對虛擬頁面做出調整,是否該換cpu,還是增加內存。

由于以上情況,所以我們完全有理由做一個更好的查看器。在進行編寫代碼以前我們還需要知道一些基本知識,即proccess,thread,module。現在我們先來學習一下proecss的基本知識。

VB.NET Process類的概念

用最簡短的話來說,進程就是當前運行的應用程序。運行的應用程序包括exe,dll這兩種文件。文件和進程的差別在與,文件是保存在磁盤上的,是靜止的,計算機不會去調用文件,而進程是非靜止的,正是由于著個原因,所以計算機每調用一個進程就需要一定的資源。這些資源包括內存,虛擬頁面,句柄,gdi……

在.net中我門可以用VB.NET Process類,(他位于System.Diagnostics空間中)提供對正在計算機上運行的進程的訪問。使用VB.NET Process類,可以獲取當前運行的進程的列表,或者啟動新的進程。VB.NET Process類用于訪問系統進程。初始化VB.NET Process類后,可使用該類來獲取有關當前運行的進程的信息。此類信息包括線程集、加載的模塊(.dll 和 .exe 文件)和性能信息(如進程當前使用的內存量)。

系統進程在系統上由其進程標識符唯一標識。與許多 Windows 資源一樣,進程也由其句柄標識,而句柄在計算機上可能不唯一。句柄是表示資源標識符的一般術語。即使進程已退出,操作系統仍保持進程句柄,該句柄通過 Process 組件的 Handle 屬性訪問。因此,可以獲取進程的管理信息,如 ExitCode(通常,或者為零表示成功,或者為非零錯誤代碼)和 ExitTime。句柄是非常有價值的資源。

  1. Public Class Form1  
  2. Inherits System.Windows.Forms.Form  
  3. Public zj  
  4. Public myProcesses() As Process  
  5. Public myProcess As Process  
  6. Private Sub Button1_Click(ByVal sender As System.Object, 
    ByVal e As System.EventArgs) Handles Button1.Click  
  7. ListBox1.Items.Clear()  
  8. myProcesses = Process.GetProcesses()  
  9. For Each myProcess In myProcesses  
  10. ListBox1.Items.Add(myProcess.ProcessName)  
  11. Next  
  12. Label1.Text = "" 
  13. Label1.Text = "本機共有" & ListBox1.Items.Count & "個進程在運行"  
  14. End Sub  
  15.  
  16. Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, 
    ByVal e As System.EventArgs) Handles ListBox1.DoubleClick  
  17. Dim i : Dim f As Integer : Dim h As Integer  
  18. ListBox2.Items.Clear()  
  19. zj = ListBox1.SelectedIndex  
  20. Label2.Text = "進程" & ListBox1.Items.Item(zj) & "的相關信息"  
  21. With ListBox2.Items  
  22. If myProcesses(zj).MainWindowTitle = "" Then  
  23. .Add("無相關主窗口")  
  24. Else  
  25. .Add(myProcesses(zj).MainWindowTitle)  
  26. End If  
  27. .Add(myProcesses(zj).BasePriority & "進程的基本優先級")  
  28. .Add(myProcesses(zj).Handle.ToString & "進程的本機句柄")  
  29. .Add(myProcesses(zj).HandleCount & "進程打開的句柄數")  
  30. .Add(myProcesses(zj).Id & "進程的唯一標識符")  
  31. .Add(myProcesses(zj).MachineName & "進程正在其上運行的計算機的名稱")  
  32. .Add(myProcesses(zj).MainModule.ToString & "進程的主模塊")  
  33. .Add(myProcesses(zj).MainWindowHandle.ToString & "進程主窗口的句柄")  
  34. '.Add(myProcesses(zj).Modules & "")  
  35. .Add(myProcesses(zj).NonpagedSystemMemorySize & "分配給此進程的未分頁的系統內存大小")  
  36. .Add(myProcesses(zj).PagedMemorySize & "分頁的內存大小")  
  37. .Add(myProcesses(zj).PagedSystemMemorySize & "分頁的系統內存大小")  
  38. .Add(myProcesses(zj).PeakPagedMemorySize & "峰值分頁內存大小")  
  39. .Add(myProcesses(zj).PeakVirtualMemorySize & "峰值虛擬內存大小")  
  40. .Add(myProcesses(zj).PrivateMemorySize & "專用內存大小")  
  41. .Add(myProcesses(zj).StartTime & "進程啟動的時間")  
  42. .Add(myProcesses(zj).TotalProcessorTime.Seconds & "進程的總的處理器時間")  
  43. .Add(myProcesses(zj).UsERProcessorTime.Seconds & "進程的用戶處理器時間")  
  44. .Add(myProcesses(zj).VirtualMemorySize & "進程的虛擬內存大小")  
  45. End With  
  46. ListBox3.Items.Clear()  
  47. TabPage1.Text = "進程" & ListBox1.Items.Item(zj) & "的基本信息"  
  48. TabPage2.Text = "進程" & ListBox1.Items.Item(zj) & "相關的線程信息"  
  49. TabPage3.Text = "進程" & ListBox1.Items.Item(zj) & "相關的模塊信息"  
  50. '/////////////////////////////////////////////  
  51. f = myProcesses(zj).Threads.Count  
  52. Label4.Text = "進程" & ListBox1.Items.Item(zj) & "共有" & f & "個相關的線程,線程ID信息如下:"  
  53. Dim int, pk, m, n  
  54. For n = 0 To f - 1  
  55. ListBox3.Items.Add(myProcesses(zj).Threads(n).Id)  
  56. Next  
  57. '///////////////////////////////////////  
  58.  
  59. ListBox5.Items.Clear()  
  60. Dim zha, kl  
  61. zha = myProcesses(zj).Modules.Count  
  62. Label5.Text = "與進程" & ListBox1.Items.Item(zj) & "共有" & zha & "個相關的模塊,模塊位置信息如下:"  
  63. For kl = 0 To zha - 1  
  64. ListBox5.Items.Add(myProcesses(zj).Modules(kl).FileName)  
  65. Next  
  66. End Sub  
  67.  
  68. Private Sub ListBox3_DoubleClick(ByVal sender As Object, 
    ByVal e As System.EventArgs) Handles ListBox3.DoubleClick  
  69. ListBox4.Items.Clear()  
  70. Dim f, n  
  71. f = myProcesses(zj).Threads.Count  
  72. n = ListBox3.SelectedIndex  
  73. Label6.Text = "線程" & ListBox3.Items.Item(n) & "相關信息"  
  74. With ListBox4.Items‘與進程相關的線程信息見System.Diagnostics.processThread類。
    因為 Processes.threads屬性是返回thread對象數組而thread對象數組的實例是由ProcessThread類來創建,
    thread 對象數組的信息是包含在System.Diagnostics. ProcessThread類中。  
  75. .Add(myProcesses(zj).Threads(n).BasePriority)  
  76. .Add(myProcesses(zj).Threads(n).CurrentPriority)  
  77. .Add(myProcesses(zj).Threads(n).PriorityLevel)  
  78. .Add(myProcesses(zj).Threads(n).PrivilegedProcessorTime)  
  79. .Add(myProcesses(zj).Threads(n).StartTime)  
  80. .Add(myProcesses(zj).Threads(n).ThreadState.ToString)  
  81. .Add(myProcesses(zj).Threads(n).TotalProcessorTime.Seconds)  
  82. .Add(myProcesses(zj).Threads(n).UserProcessorTime.Seconds)  
  83. .Add(myProcesses(zj).Threads(n).WaitReason.ToString)  
  84. End With  
  85. End Sub  
  86.  
  87. Private Sub ListBox5_DoubleClick(ByVal sender As Object, 
    ByVal e As System.EventArgs) Handles ListBox5.DoubleClick  
  88. ListBox6.Items.Clear()  
  89. Dim f, n, m  
  90. f = myProcesses(zj).Modules.Count  
  91. n = ListBox5.SelectedIndex  
  92. Label7.Text = "模塊" & ListBox5.Items.Item(n) & "相關信息"  
  93. With ListBox6.Items‘與進程相關的模塊信息見System.Diagnostics. ProcessModule類,
    因為Processes.Modules屬性是返回Modules對象數組而Modules對象數組的實例是由 ProcessModule類來創建,
    Modules對象數組的信息是包含在System.Diagnostics. ProcessModule類中。  
  94. m = Hex(myProcesses(zj).Modules(n).BaseAddress.ToInt32)‘轉換成16進制  
  95. .Add(m)  
  96. m = Hex(myProcesses(zj).Modules(n).EntryPointAddress.ToInt32)  
  97. .Add(m)  
  98. .Add(myProcesses(zj).Modules(n).FileVersionInfo)  
  99. .Add(myProcesses(zj).Modules(n).ModuleMemorySize)  
  100. .Add(myProcesses(zj).Modules(n).ModuleName)  
  101. End With  
  102. End Sub  

最后對程做一點補充說明,各位讀者,當你知道了如何編寫這個程序時,你可能會想如果只是寫一個單純的這個程序你可能會覺得沒什么意義,那如何才可以將這段程序發揮他更大的意義?就讓我來告訴你。其實這段代碼并不是我刻意編寫的,而是一個局域網中的遠程控制的一部分。掃描客戶機上運行的進程,查看客戶機的資源,將獲得的信息發個服務器,并可以通過VB.NET Process類來關閉客戶機上的進程,以便管理者對客戶機進行管理。此外寫這篇文章的另一個目的是希望讀者更快的掌握.net中 System.Diagnostics.Process,System.Diagnostics.processThread,System.Diagnostics. ProcessModule類。在VB.NET和win2000通過 。

【編輯推薦】

  1. 簡單講述VB.NET表間拖放
  2. 五分鐘學會VB.NET實現拖放
  3. 講述強大的VB.NET Web Forms,使用起來卻如此簡單
  4. 分析VB QuickSort應用程序
  5. 兩步就可以掌握VB使用ArrayList類
責任編輯:佚名 來源: IT168
相關推薦

2009-10-26 19:22:29

VB.NET使用Log

2009-10-21 10:45:50

VB.NET Quic

2009-10-16 13:26:53

VB.NET Exce

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-14 11:15:06

VB.NET Grou

2009-10-23 13:22:25

VB.NET實現拖動圖

2009-10-15 11:11:08

VB.NET Text

2009-10-10 16:44:52

VB.NET開發控件

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-13 17:03:55

VB.NET面向對象

2009-11-02 15:45:03

VB.NET IEnu

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-16 09:35:24

VB.NET制作透明窗

2009-10-26 18:11:47

VB.NET調用Exc

2009-10-29 09:57:16

VB.NET實現數據綁

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-27 11:39:03

VB.NET事件處理程

2009-11-03 17:31:01

VB.NET窗體

2010-01-15 13:30:50

VB.NET Prog
點贊
收藏

51CTO技術棧公眾號

国产精品美女诱惑| www.youjizz.com在线| 午夜影院韩国伦理在线| 91av在线免费观看视频| 日本www在线| 国产精品久久久99| 四虎影院一区二区三区 | 一本一本久久a久久精品综合小说| 午夜影院免费| av在线不卡电影| 亚洲ai欧洲av| 影音先锋亚洲电影| 国产成人拍精品视频午夜网站| 日日夜夜一区| 亚洲福利在线看| 精品黄色免费中文电影在线播放| 亚洲一区在线看| 天天综合天天操| 26uuu亚洲综合色欧美| 中文字幕综合在线观看| 国产精品一页| 国产欧美一区二区在线播放| 91亚洲国产成人久久精品| 77777亚洲午夜久久多人| 日韩一级特黄| 中文字幕一区二区精品| 爱情电影社保片一区| 日韩精品一区二区三区四区 | 久久精品国产免费看久久精品| 5566中文字幕一区二区| 少妇精品导航| 欧美亚洲成人网| 红杏aⅴ成人免费视频| 久久久久久久久国产精品| 玖玖玖视频精品| 欧美猛交ⅹxxx乱大交视频| 国产精品美女午夜爽爽| 一区二区在线免费视频| 久久天堂影院| 欧美精品做受xxx性少妇| 国产精品亚洲欧美日韩一区在线| 日韩中文字幕av| 99久久久成人国产精品| 国产一区二区三区在线| 天天综合网站| 久久精品视频播放| 九九在线视频| 中文字幕日韩av电影| 很黄很a的视频| 亚洲精品videosex极品| 老司机在线免费视频| 亚洲五码中文字幕| 男人天堂网在线| 欧美揉bbbbb揉bbbbb| 日本中文字幕伦在线观看| 欧美高清视频在线高清观看mv色露露十八 | 亚洲黄色网址| 日韩在线观看免费av| 国产视频一区二区在线播放| 97国产精品人人爽人人做| 欧美猛男同性videos| 成人欧美在线观看| 美女诱惑黄网站一区| 男人天堂网站在线| 中文字幕制服丝袜成人av | 欧美性大战xxxxx久久久| 免费在线观看av| 日韩国产一区三区| 91精品久久久久久综合五月天| 国产va免费精品高清在线观看| 亚洲精品2区| 一本久道久久综合狠狠爱亚洲精品| 国产999精品久久| 国产乱真实合集| 3atv一区二区三区| 欧美特大特白屁股xxxx| 久久久久久久久久久网站| 欧美综合一区| 水蜜桃一区二区三区| 国产三级三级三级精品8ⅰ区| 中文字幕一二三区在线观看 | 欧美性生活久久| а√天堂中文资源在线bt| 欧美激情精品久久久久久免费印度| 精品一二三区| 欧美日韩一区在线观看视频| 91麻豆国产精品久久| 男人天堂亚洲二区| 日韩性生活视频| 欧美日韩综合| 日本精品一区二区三区四区| 色婷婷久久一区二区三区麻豆| 女人让男人操自己视频在线观看| 茄子视频成人在线| 免费观看在线综合| 黄网址在线播放免费| 国产手机视频精品| 久久国产精品成人免费观看的软件| 亚洲一区二区精品在线| 亚洲欧美视频一区| 黄色在线免费观看网站| 国产精品美女在线| 国产成人午夜精品影院观看视频| 满满都是荷尔蒙韩剧在线观看| 亚洲欧美自拍一区| 女人天堂亚洲aⅴ在线观看| 国产xxxxx在线观看| 欧美大片一区二区| 首页国产精品| 欧美日韩一区二区在线免费观看| 91精品在线一区二区| 亚洲精品动态| www.av蜜桃| 欧美一二三四在线| 色综合久久一区二区三区| 国产1区2区在线| 亚洲成成品网站| 天天做综合网| 又黄又爽毛片免费观看| 正在播放欧美一区| 久久深夜福利| 免费毛片在线| 热久久美女精品天天吊色| a亚洲天堂av| 97蜜桃久久| 久久riav| 色丁香久综合在线久综合在线观看| ccyy激情综合| 久久国产精品网| 亚洲国产精品推荐| 亚洲欧美成人综合| 天堂а√在线8种子蜜桃视频 | 美女av电影| 色妞一区二区三区| 久久福利视频一区二区| 麻豆传媒在线观看| 亚洲综合成人婷婷小说| 亚洲精品久久久蜜桃| 午夜电影一区| 99在线精品免费视频| 欧美sm美女调教| 亚洲第一黄色| 久久经典视频| 18成人免费观看网站下载| 亚洲成av人片在线| 欧洲激情综合| x88av蜜桃臀一区二区| 欧美一区二区三区免费视| 国产日韩av一区| 亚洲福利合集| 高清一区二区视频| 久久久中文字幕| 中文字幕亚洲一区二区av在线| 精品国产欧美| 最新天堂中文在线| 久久久久久午夜| 国产精品国产三级国产aⅴ无密码| 国产视频一区二| 777av视频| 久久国产精彩视频| 久久久蜜臀国产一区二区| 精品国产第一国产综合精品| 日韩视频免费在线播放| 精品自在线视频| 国产精品电影一区二区| 精品国产乱码久久久| 簧片在线观看| 国产精品swag| 日韩欧美国产一区二区三区 | 欧美视频久久| 成码无人av片在线观看网站| 日韩欧美精品一区二区三区经典| 精品少妇一区二区| 国产成人超碰人人澡人人澡| 国产精品麻豆| 黄色高清在线观看| 国产在线精品日韩| 欧美电影精品一区二区| 成人av网址在线观看| 色爱综合av| 中文字幕亚洲精品| 手机看片福利永久国产日韩| 国产视频丨精品|在线观看| 欧美性猛交xxxx乱大交| 一区二区三区不卡在线观看| 精品一区二区三区不卡| 亚洲国产精品成人| 在线观看免费一区二区| 成人亚洲一区二区| 久久亚洲不卡| 日韩理论在线观看| 亚洲视频第一页| 国产免费一区二区三区视频| 在线免费观看黄| av女同在线| 91大神在线网站| 色喇叭免费久久综合网| 亚洲一级不卡视频| 日韩午夜在线视频| av之家在线观看|