• VB获得进程PID


    新建模块,加入以下代码:


    Option Explicit
    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
    Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
    Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
    Private Const TH32CS_SNAPPROCESS = &H2&
    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 * 260
    End Type
    Const PROCESS_TERMINATE = 1
    Function GetPsPid(sProcess As String) As Long
    Dim lSnapShot As Long
    Dim lNextProcess As Long
    Dim tPE As PROCESSENTRY32
    lSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
    If lSnapShot <> -1 Then
    tPE.dwSize = Len(tPE)
    lNextProcess = Process32First(lSnapShot, tPE)
    Do While lNextProcess
    If LCase$(sProcess) = LCase$(Left(tPE.szExeFile, InStr(1, tPE.szExeFile, Chr(0)) - 1)) Then
    Dim lProcess As Long
    Dim lExitCode As Long
    GetPsPid = tPE.th32ProcessID

    CloseHandle lProcess
    End If
    lNextProcess = Process32Next(lSnapShot, tPE)
    Loop
    CloseHandle (lSnapShot)
    End If
    End Function

    调用GetPsPid("进程名")

    在form1窗体是加入按钮控件和编辑框控件然后计入代码运行输入进程名然后就可以看到pid了。

    Private Sub Command1_Click()
    Print GetPsPid(Text1.Text)
    End Sub

    就这样了……

  • 相关阅读:
    org.apache.zookeeper.ClientCnxn
    Oracle数据库 number 长度与 Short Integer Long BigDecimal 对应关系
    Spring中 PROPAGATION_REQUIRED 解释
    java的static final和final的区别
    本地调试有数据,发布到服务器没更新的问题
    java的double类型如何精确到一位小数?
    consul配置参数大全、详解、总结
    深入对比TOML,JSON和YAML
    基于Jenkins,docker实现自动化部署(持续交互)【转】
    让Linux任务在后台可靠运行的几种方法
  • 原文地址:https://www.cnblogs.com/xxaxx/p/1655464.html
Copyright © 2020-2023  润新知