列举进程

列举本地所有网络的活动进程 任务: 列举本机所有网络活动的进程信息,包括协议类型、进程ID及其名称、本地地址及对应端口、远程地址及对应端口、当前连接状态信息。 环境: Win7 + VC++2010 注:(1)本例程适用于Windows Vista / 7, VS2010以上版本(VS2008未测试),不适用于VS2005以下版本。         (2)VS2005中没有TCP_TABLE_CLASS 的定义 阅读详情
#include <stdio.h>
#include <windows.h>

#define    Max_Process_Count    1024
#define    Max_Module_Count    1024

//缺少psapi.h头,自己导出函数

typedef    BOOL (__stdcall *ENUMPROCESSES)( OUT DWORD *, IN DWORD, OUT DWORD * );
typedef DWORD (__stdcall *GETMODULEFILENAMEEX)( IN HANDLE, IN HMODULE, OUT LPTSTR, IN DWORD );
typedef BOOL (__stdcall *ENUMPROCESSMODULES)( IN HANDLE, OUT HMODULE*, IN DWORD, OUT LPDWORD );

ENUMPROCESSES            EnumProcesses;
GETMODULEFILENAMEEX        GetModuleFileNameEx;
ENUMPROCESSMODULES        EnumProcessModules;

void GetPath( DWORD );

int main(int argc, char *argv[])
{
    HMODULE        hPsapiHandle = LoadLibrary( "psapi.dll " );

    printf( "/n" );

    if( ! hPsapiHandle )
    {
        printf( "Load psapi.dll error: %d/n", GetLastError() );

        return -1;
    }
    
    EnumProcesses = (ENUMPROCESSES)GetProcAddress( hPsapiHandle, "EnumProcesses" );

    GetModuleFileNameEx = (GETMODULEFILENAMEEX)GetProcAddress( hPsapiHandle, "GetModuleFileNameExA" );

    EnumProcessModules = (ENUMPROCESSMODULES)GetProcAddress( hPsapiHandle, "EnumProcessModules" );

    DWORD    processesID[Max_Process_Count];
    DWORD    buffNeeded;
    DWORD    processCount;

    if( !EnumProcesses( processesID, sizeof(processesID), &buffNeeded) )
    {
        FreeLibrary( hPsapiHandle );
        return -1;
    }

    processCount = buffNeeded  /sizeof(DWORD);

    int index = 0;

    for( index =0; index < processCount; index++ )
    {
        GetPath( processesID[index] );
    }

    if( hPsapiHandle )
    {
        FreeLibrary( hPsapiHandle );
    }

    return 0;
}

void GetPath( DWORD processID )
{
    char filePath[MAX_PATH];

    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,
                                    FALSE,
                                    processID
                                );
    if( hProcess )
    {
        HMODULE        hMod[Max_Module_Count];
        DWORD        buffNeeded, moduleCount;
        
        if( EnumProcessModules( hProcess, hMod, sizeof(hMod), &buffNeeded) )
        {
            moduleCount = buffNeeded / sizeof(HMODULE);

            if( hProcess && hMod[0] )
            {
                GetModuleFileNameEx( hProcess, hMod[0], filePath, sizeof(filePath) );
            }
            
            printf( "%d/t%s/n", processID, filePath );
        }
    }

    CloseHandle(hProcess);
} 

 
NtQuerySystemInformation C++ Builder 6.0写的进程查看工具,关键是NtQuerySystemInformation函数的运用,以及Unicode字符与ANSII字符的转换. 立即下载

相关推荐

802.11 NDP Sounding

NDP Sounding1.NDP原理2.NDP 过程3.帧结构3.1 NDPA结构3.2 CBF帧 1.NDP原理 802.11n标准提供的波束成形技术,可以通过预先补偿发射天线的相位,让两条波束进行叠加以实现最好的效果 显式波束成形需要终端反馈信道信息: AP向STA发送探测数据(NDP: null data packet sounding) STA向AP反馈信道信息(Compressed beamforming) AP根据STA的反馈或自行计算的权重信息进行波束成形 2.NDP 过程 802.

weixin_45799954的博客 8263

进程列举 NtQuerySystemInformation

/*--------- 1.c -----------*/ #include "1.h" //---------列举进程--------- NTSTATUS EnumProcess() { int iCount = 1; //进程计数 NTSTATUS status; //返回值 PVOID pSi = NUL...

weixin_33919950的博客 153

YOLOv8冻结层的迁移学习 全网首发

在调用时会创建trainer此时的模型配置更新了,冻结了个p。

qq_42693842的博客 6587

<转>内核层 进程列举 NtQuerySystemInformation

/*--------- 1.c -----------*/ #include "1.h"   //---------列举进程---------   NTSTATUS EnumProcess()   {   int iCount = 1;    //进程计数   NTSTATUS status;   //返回值   PVOID pSi = NULL; /*指向SystemInformationCla...

weixin_33721344的博客 203

5分钟搞定!用OpenCV实现全景图像柱面展开的保姆级教程(附完整代码)

本文提供了一份使用OpenCV实现全景图像柱面展开的详细教程。通过清晰的数学原理讲解和分步代码演示,指导读者快速掌握从等距柱状投影全景图到平面展开图的核心转换方法,并涵盖性能优化、参数调整及透视视图扩展等实用技巧,适合图像处理爱好者和开发者实践。

sony5的博客 576

命名管道和匿名管道

我们知道进程间是可以通信的。可以达到数据传输、资源共享、事件通知、进程控制等目的。进程间通信主要包括管道、系统IPC,套接字等。 管道分为三种: 普通管道:一是单工,只能单向传输 ,二是仅能在父子进程或者兄弟进程中使用。 流管道:去除了第一种限制,为半双工,可以双向传递, 命名管道:去除了第二种限制 ,可以在很多并不相关的进程 中进行通信。 1、普通管道 int pipe(int f...

ffsiwei的博客 1万+

windows核心编程-列举出当前系统中的所有进程和线程

DLL--动态链接库 LIB--静态链接库

qq_22423659的博客 986

FPGA以太网开发实战:YT8511 PHY芯片MDIO接口配置全流程(附Verilog代码)

本文详细介绍了FPGA以太网开发中YT8511 PHY芯片MDIO接口的配置全流程,包括MDIO接口技术解析、Verilog状态机设计、核心代码实现细节及实战调试经验。通过提供经过验证的Verilog代码和优化策略,帮助开发者快速掌握以太网PHY芯片配置技术,提升通信系统性能。

weixin_29184371的博客 233

进程列举操作

进程列举操作1.    进程的概念进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。进程是由进程控制块、程序段

互联网产品管理、交互、设计、开发、用户体验专栏 966

融合Retinex理论与Transformer的YOLOv8低光照目标检测增强方法【YOLOv8】

图像分解:将输入图像分解为光照成分和反射成分。光照估计:估计光照图以消除暗光区域。图像重建:将光照增强后的反射图像重建成最终图像。Retinexformer通过在Transformer中引入Retinex的图像增强思路,使得低光照图像的细节能够得到充分保留。本文提出了一种基于Retinexformer的低光照增强方法,用于改进YOLOv8模型在夜间和低光照环境下的目标检测性能。

博客 1931

ARFoundation系列讲解 - 手部跟踪编程

通过使用ARFoundation的手部跟踪子系统,我们可以轻松地在AR应用程序中实现与用户手部的交互。通过设置AR环境、创建场景和相机、添加手部跟踪功能以及编写相应的脚本,我们可以开始在AR场景中跟踪和操作用户的手部。在Unity中创建一个新场景,并将AR Session组件添加到场景中的一个空对象上。手部跟踪的具体实现可能因AR设备和平台的不同而有所差异,你可能需要根据你的使用情况进行一些适配和调整。当你将手部放入AR场景中时,手部跟踪系统将触发相应的事件,并调用脚本中的回调函数。

2301_79325339的博客 358

列举进程 (转)

列举进程 (转)[@more@]列举进程:一个实践的方法作者:Irfan Dawood 来源:ASP">http://www.codeproject.com/threads/processes.asp译者:zhf0021 ...

csd3176的博客 150

LibCity:开源的交通预测算法库 | 面向小白,从0到1【SUMO十字路口仿真建模】路网搭建、车辆配置、实现仿真、仿真结果输出

LibCity:开源的交通预测算法库 | 面向小白,从0到1【SUMO十字路口仿真建模】路网搭建、车辆配置、实现仿真、仿真结果输出

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 458

列举当前运行的所有进程

void CEmnuprocessDlg::ListProcess(){           HANDLE  hProcessSnap=NULL;           PROCESSENTRY32 pe32;          //获得句柄          hProcessSnap = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS,0);       

流浪家园 1540

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

列举某进程打开的文件列表

unsigned long needed; DWORD size; SYSTEM_HANDLE shandle; HMODULE module = LoadLibraryW(L"Ntdll.dll"); NtQuerySystemInformation = (QuerySystemInformation)GetProcAddress(module, "NtQuery

cfy_yinwenhao的专栏 907

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C#列举结束进程

using System; using System.Diagnostics; using System.Management; //列举进程列表private static void psst()     {         Process[] procList = Proce

http://www.softwareace.cn 王牌软件 500

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

列举Windows所有进程ToolHelp

目录 1 基础知识:. 2 1.1结构框图... 2 1.2 快照函数... 2 2 Heap Walking解析... 3 2.1 Heap Walking定义... 3 2.2 Heap Walking常用函数... 4 2.3 实例... 4 3 Process Walking 解析... 5 3.1 PROCESSENTRY32定义... 5 3.2 Proces...

weixin_30613727的博客 134

列举进程和模块

#include #include #include bool ProcessProc(void); bool ProcessModule(DWORD); int main (void) { ProcessProc(); return 0; } bool ProcessProc(void) { //获取进程快照 HANDLE hProcessSnap=CreateTool

125096 613

Delphi如何列举系统运行的进程

uses ... TLHelp32, ...; type TForm1 = class(TForm) ... end; var Form1: TForm1; l : Tlist; ////返回的东东在"L"这个TList中。 type TProcessInfo = Record ExeFile...

weixin_30808575的博客 154

windows 列举出所有进程

DWORD FindProcess() {     PROCESSENTRY32 pe32; PROCESS_MEMORY_COUNTERS MemCount; ZeroMemory(&MemCount, sizeof(PROCESS_MEMORY_COUNTERS)); pe32.dwSize = sizeof(pe32); HANDLE hp = CreateToolhelp3

kgzhwang 551

列举出所有进程(包括隐藏的)

其实只要导出这些NativeAPI,在应用态也是可以用的。本文来自看雪的某人谁不记得了不好意思了! C/C++ codeHANDLE LzOpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle, DWORD dwProcessId) { NTSTATUS status=0; char *pBuf=NULL; //

Laughing Gor 1921
上一篇: 一段隐藏注册表项的代码
下一篇: MailEnable的IMAP服务UNSUBSCRIBE命令超长参数溢出
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值