摘要
Mxchild
生成中...
基础知识
🎯 核心功能
WTSEnumerateProcessesW 是一个 Windows API 函数,它主要用于枚举指定终端服务器上的活动进程。通过调用此函数,你可以获取一个包含进程ID、进程名等信息的列表,这对于系统监控、任务管理或诊断工具的开发非常有用。
BOOL WTSEnumerateProcessesW(
[in] HANDLE hServer,
[in] DWORD Reserved,
[in] DWORD Version,
[out] PWTS_PROCESS_INFOW *ppProcessInfo,
[out] DWORD *pCount
);
📝 关键参数与使用要点
该函数的核心参数包括:
- hServer:指定终端服务器句柄。使用 WTS_CURRENT_SERVER_HANDLE 通常表示本地服务器。
- ppProcessInfo:这是一个输出参数,函数成功后会返回一个指向 PWTS_PROCESS_INFO 结构数组的指针。这个结构里存有进程的信息,包括进程名和进程ID。
typedef struct _WTS_PROCESS_INFOA {
DWORD SessionId; // 与进程关联的会话的远程桌面服务会话标识符
DWORD ProcessId;
LPSTR pProcessName;
PSID pUserSid; // 指向进程的主要访问令牌中的用户 安全标识符 的指针
} WTS_PROCESS_INFOA, *PWTS_PROCESS_INFOA;
- pCount:返回枚举到的进程数量。
在使用时,有两点需要特别注意:
- 内存管理:函数内部会分配内存来存储进程信息。因此,在不再需要返回的 ppProcessInfo 数据时,务必调用 WTSFreeMemory 来释放内存,避免内存泄漏。
- 库依赖:需要使用 Wtsapi32.lib 库,并包含 WtsApi32.h 头文件。
💡 主要特点与应用场景
WTSEnumerateProcessesW 的一个便利之处在于,在某些情况下(例如在本地服务器上枚举进程),它可能不需要过高的权限就能获取进程列表,相比之下,一些其他枚举方法(如使用PSAPI中的EnumProcesses)对权限要求特别高,即使以管理员权限运行,仍然有许多进程信息得不到。
因此,它特别适合用于:
- 开发类任务管理器的系统工具。
- 监控终端服务器(如Remote Desktop Services)上的用户进程。
- 需要跨会话枚举进程的应用程序。
⚠️ 注意事项
此函数是 WTSEnumerateProcesses 的宽字符(Unicode)版本。在编程时,确保你的字符串处理与之一致。
示例代码
#include <iostream>
#include <windows.h>
#include <wtsapi32.h>
#pragma comment(lib, "Wtsapi32.lib")
void EnumProcess_wtsapi32()
{
PWTS_PROCESS_INFOW pProcessInfo = NULL;
DWORD pCount = 0;
if (!WTSEnumerateProcessesW(WTS_CURRENT_SERVER_HANDLE, 0, 1, &pProcessInfo, &pCount))
{
printf("WTSEnumerateProcessesW Failed -> 0x%08x\r\n", GetLastError());
}
for (size_t i = 0; i < pCount; i++)
{
WCHAR* processName = pProcessInfo[i].pProcessName ? pProcessInfo[i].pProcessName : (WCHAR*)"UnKnow";
wprintf(L"%-8d %-8d %-100s\r\n",
pProcessInfo[i].ProcessId,
pProcessInfo[i].SessionId,
processName);
}
}
int main()
{
EnumProcess_wtsapi32();
}
![图片[1]- AntiMonitor wtsapi32 EnumProcess 进程遍历- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2025/11/image-2-1024x574.png)
版权声明
1
本站名称:侠者非攻社区
2
本站网址:https://www.xiahub.com
3
本站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4
本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6
本站附件资源、教程等内容如因时效原因失效或不可用,请评论区留言或联系站长及时更新。
本站一切资源仅供学习交流使用请勿商业运营,严禁从事违法侵权等任何非法活动,否则后果自负!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END




- 最新
- 最热
只看作者