MFC-通过WtsApi32.dll中的函数枚举进程

本文介绍了如何在MFC应用中利用WtsApi32.dll库来快速简洁地枚举终端服务上的进程。首先需要包含WtsApi32.h头文件,并链接WtsApi32.lib库。接着,通过相关的API函数实现进程的列举操作。
摘要由CSDN通过智能技术生成

WtsApi32是终端服务API,这种方法获取进程信息很快很简洁.

效果如图:

1.包含头文件WtsApi32.h,导入库WstApi32.lib

2.代码如下:

//终端服务的名字,就是计算机的名字
    TCHAR szComputerName[100] = TEXT("xxx");

    //打开终端服务,返回一个句柄
    HANDLE hSever = WTSOpenServer(szComputerName);
    if (hSever == INVALID_HANDLE_VALUE)
    {
        AfxMessageBox(TEXT("打开终端服务失败"));
        return;
    }
    //终端服务进程信息
    PWTS_PROCESS_INFO pWtsProcess = { 0 };
    DWORD dwcbProcess = 0;//进程数
    //枚举进程
    if (!WTSEnumerateProcesses(
        hSever,    //终端服务句柄
        0,         //设为0
        1,         //版本设为1
        &pWtsProcess, //得到终端服务进程信息
        &dwcbProcess  //得到进程个数
        ))
    {
        AfxMessageBox(TEXT("枚举进程失败"));
        return;
    }
    int iCount = 0;
    CString s;
    //枚举进程
    for (int i = 0; i < dwcbProcess;i++)
    {
        iCount = m_List.GetItemCount();
        s.Format(TEXT("%s"), pWtsProcess[i].pProcessName);
        m_List.InsertItem(iCount, s);
        s.Format(TEXT("%d"), pWtsProcess[i].ProcessId);
        m_List.SetItemText(iCount, 1, s);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值