vb枚举进程

这段代码展示了如何使用VB来枚举系统中的进程,并获取它们的模块文件名。通过调用API函数EnumProcesses, OpenProcess, GetModuleFileNameExA等,可以遍历并打印出每个进程的详细信息。此外,还提供了多个VB相关教程链接,涵盖资源管理、WindowsMediaPlayer、系统环境变量、加密算法、文件操作、进程控制等方面。" 111493928,10293400,Python与Java跨语言gRPC实战:多线程与微服务,"['gRPC', 'Python开发', 'Java开发', '微服务', '跨语言通信']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 写了一个进程枚举代码,未实现ring0级的进程枚举。 代码如下:

Option Explicit
Private Declare Function EnumProcesses Lib "psapi.dll" (lpidProcess As Long, ByVal cb As Long, cbNeeded As Long) As Long
Private Declare Function GetModuleFileNameExA Lib "psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize 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 Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Sub Main()
    Dim i As Long
    Dim strFileName As String
    Dim hMod As Long, pId(1024) As Long, hProcess As Long, dwNeeded As Long, dwTemp As Long

    EnumProcesses pId(0), 1024 * 4, dwNeeded
    For i = 1 To dwNeeded
        If pId(i) = 0 Then Exit For
        hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pId(i))
        If hProcess <> 0 Then
            strFileName = String(200, vbNullChar)
            strFileName = Left(strFileName, GetModuleFileNameExA(hProcess, 0, strFileName, Len(strFileName)))
            CloseHandle hProcess
            If Len(strFileName) > 0 Then Debug.Print strFileName
        End If
    Next
End Sub

 


摘自:枚举进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值