开源API获取进程用户名获取进程用户名
功能说明:该程序是一个用于根据指定进程ID(PID)查询对应进程所运行的用户账户名称(用户名)的轻量级系统工具。其核心功能封装在名为“GetProcessUserNameByProcessId”的子程序中,该子程序通过调用Windows Terminal Services API(wtsapi32.dll)的WTSEnumerateProcesses函数枚举当前服务器上所有进程信息,遍历返回的WTS_PROCESS_INFO结构体数组,匹配目标PID;一旦找到匹配进程,即提取其pUserSid(用户安全标识符),再调用AdvAPI32.dll中的LookupAccountSid函数将SID反向解析为可读的用户名(忽略域名,仅返回用户名部分)。主程序入口“_启动子程序”仅作演示用途,硬编码调用GetProcessUserNameByProcessId(1332),并将结果输出至调试文本(如易语言调试器日志),用于验证功能。程序依赖关键Windows系统DLL(wtsapi32.dll、advapi32.dll、kernel32.dll),使用CopyMemory进行内存拷贝以安全读取远程进程信息结构,并通过WTSFreeMemory释放分配的内存,符合Windows API资源管理规范。整个实现聚焦于单点功能:精准、可靠地获取任意本地进程(需具备相应权限)所归属的登录用户名,适用于系统监控、安全审计、多用户环境下的进程归属分析等场景。程序不涉及界面交互、持久化存储或网络通信,属于底层系统信息查询类实用工具。
======程序集1
| |
| |------ _启动子程序
| |
| |------ GetProcessUserNameByProcessId
| |
| |
======调用的Dll
| |
| |---[dll]------ WTSEnumerateProcesses
| |
| |---[dll]------ LookupAccountSid
| |
| |---[dll]------ WTSFreeMemory
| |
| |---[dll]------ sizeof_WTS_PROCESS_INFO
| |
| |---[dll]------ CopyMemory_WTS_PROCESS_INFO
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。