人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

顯示進程、關閉進程

顯示進程、關閉進程

更新時間:2022-06-06 文章作者:未知 信息來源:網絡 閱讀次數:

首先通過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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 莫力| 军事| 林周县| 咸宁市| 买车| 类乌齐县| 哈巴河县| 鹤壁市| 吴川市| 乐山市| 南华县| 敦煌市| 鹤岗市| 昌吉市| 尼玛县| 惠来县| 邵阳县| 阳城县| 沙坪坝区| 扶余县| 江山市| 漯河市| 安多县| 错那县| 延吉市| 宣恩县| 余庆县| 永登县| 青州市| 武邑县| 海城市| 合川市| 佛山市| 高青县| 都昌县| 剑川县| 沁阳市| 三门县| 葵青区| 文水县| 界首市|