如何编写vb的pid程序
1、窗体上添加一个 text 一个按钮 只需在text中输入进程名单击一下按钮 就可以只需要三个apiPrivate Declare Function CreateToolhe造婷用痃lp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As LongPrivate Declare FunctionProcess32FirstLib "kernel32" (ByVal hSnapshot As Long, lppe AsPROCESSENTRY32) As LongPrivate Declare FunctionProcess32NextLib "kernel32" (ByVal hSnapshot As Long, lppe AsPROCESSENTRY32) As LongPrivate TypePROCESSENTRY32
2、dwSize As LongcntUsage As Longth32ProcessID As Longth32DefaultHeapID As Longth32ModuleID As LongcntThreads As Longth32ParentProcessID As LongpcPriClassBase As LongdwFlags As LongszExeFile As String * 1024End Type
3、Const TH32CS_SNAPHEAPLIST = &H1Const TH32CS_SNAPPROCESS = &H2Const TH32CS忧溲枷茫_SNAPTHREAD = &H4Const TH32CS_SNAPMODULE = &H8Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)Const TH32CS_INHERIT = &H80000000
4、Dim pid As LongDim pname As StringDim a As StringPrivate Sub Command1_Click()a = Trim(LCase(Text1))Dim my As PROCESSENTRY32Dim l As LongDim l1 As LongDim flag As BooleanDim mName As StringDim i As Integer
5、l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)If l Thenmy.dwSize = 1060End IfIf (Process32First(l, my)) Then '遍历第一个进程Doi = InStr(1, my.szExeFile, Chr(0)) '返回chr(0)在各个进程中出现的位置mName = LCase(Left(my.szExeFile, i - 1)) '返回小写的(返回i-1的前n个字符,即正确的名称)If mName = a Then
6、pid = my.th32ProcessIDText1 = Text1 & "的pid是 " & "---" & pidEnd IfLoop Until (Process32Next(l, my) < 1)End IfEnd Sub