函数原型:
BOOL WTSEnumerateSessions( HANDLE hServer,
DWORD Reserved,
DWORD Version,
PWTS_SESSION_INFO* ppSessionInfo,
DWORD* pCount
);
作用:对当前系统的session信息进行枚举。
参数说明:
hServer:指定要对终端断服务枚举的句柄,本机可以的话可以为WTS_CURRENT_SERVER_HANDLE, 或者NULL
Reserved:系统保留位,必须为0
Version:指定枚举请求的版本,必须为1
ppSessionInfo:一个WTS_SESSION_INFO结构
可以看一下该结构的定义:
typedef struct _WTS_SESSION_INFO
{
DWORD SessionId;
LPTSTR pWinStationName;
WTS_CONNECTSTATE_CLASS State;
} WTS_SESSION_INFO, * PWTS_SESSION_INFO; 该结构中包含绘画ID, Windows空间站名,session的状态,此状态为枚举值。再次看下一结构
typedef enum _WTS_CONNECTSTATE_CLASS
{
WTSActive, // User logged on to WinStation
WTSConnected, // WinStation connected to client
WTSConnectQuery, // In the process of connecting to client
WTSShadow, // Shadowing another WinStation
WTSDisconnected, // WinStation logged on without client
WTSIdle, // Waiting for client to connect
WTSListen, // WinStation is listening for connection
WTSReset, // WinStation is being reset
WTSDown, // WinStation is down due to error
WTSInit, // WinStation in initialization
} WTS_CONNECTSTATE_CLASS; pCount:返回Session的数量,为输出参数 举例说明:
   void main()

   {

        PWTS_SESSION_INFO psi;
DWORD dwCount; BOOL bRet = WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, &psi, &dwCount); if (!bRet)
return 0;
wstring strName;
for (unsigned int i = 0; i < dwCount; i ++)
{
printf("%s \t", psi[i].pWinStationName);
printf("%d \t", psi[i].SessionId);
printf("%d \n", psi[i].State);
}
WTSFreeMemory(psi); }

Windowns API 第24篇 WTSEnumerateSessions 枚举session信息的更多相关文章

  1. WTSEnumerateSessions 枚举session信息

    http://dwbpriarie.lofter.com/post/1cd339fc_8cf728c https://www.cnblogs.com/priarieNew/p/9755655.html ...

  2. 我所理解的RESTful Web API [Web标准篇]

    REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一 ...

  3. SimpleDateFormat 出现错误 Call requires API level 24 (current min is 15)

    这个故事是这样的 今天写打卡时间的时候需要获取一下当前时间,然后我就写了一个这个 SimpleDateFormat sDF =   new SimpleDateFormat("yyyy-MM ...

  4. shiro源码篇 - shiro的session共享,你值得拥有

    前言 开心一刻 老师对小明说:"乳就是小的意思,比如乳猪就是小猪,乳名就是小名,请你用乳字造个句" 小明:"我家很穷,只能住在40平米的乳房" 老师:" ...

  5. Android N(API level 24.)废弃了Html.fromHtml(String)

    从API level 24开始,fromHtml(String)被废弃,使用fromHtml(String source, int flags) 代替 flags: FROM_HTML_MODE_CO ...

  6. Mysql高手系列 - 第24篇:如何正确的使用索引?【高手进阶】

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第24篇. 学习索引,主要是 ...

  7. 第六篇 flask中session

    Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 Flask 中 session 的使用 1. Flask 中 session 是 ...

  8. 与子域名共用session信息

    参考自 http://www.jb51.net/article/19664.htm 下面的步骤只使用于两个域名在同一个服务起得情况下,如果不在一个服务器上,就需要考虑通过数据库来存储session信息 ...

  9. Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

随机推荐

  1. CF421D Bug in Code

    题意:n个人每人选择了另外不相同的两个人.问有多少对(x,y)使得这n个人中至少有p个选择了至少其中之一? 标程:那就不写了吧. 题解:容斥 统计Ax表示有多少个人选择了x. 一般来说有Ax+Ay&g ...

  2. BeanPostProcessor原理学习

    <Spring源码解析>笔记 1.自定义的BeanPostProcessor @Component public class MyBeanPostProcessor implements ...

  3. [转]springmvc+mybatis需要的jar包与详解

    1.antlr-2.7.6.jar:  项目中没有添加,hibernate不会执行hql语句 2.Aopalliance.jar: 这个包是AOP联盟的API包,里面包含了针对面向切面的接口,通常Sp ...

  4. python 基本常用数据类型

    #字典类型 result={1:2222,2:2221111}; result.items();#获取字典中所有元素 result.keys();#获取字典的key result.values();# ...

  5. jvm虚拟内存分布 与 GC算法

    jvm虚拟内存分布 程序计数器(PC寄存器)(线程私有): 每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器. PC寄存器的内容总是指向下一条将被执行指令的地址 ...

  6. spring整合shiro框架

    上一篇文章已经对shiro框架做了一定的介绍,这篇文章讲述使用spring整合shiro框架,实现用户认证已经权限控制 1.搭建环境 这里不在赘述spring环境的搭建,可以简单的搭建一个ssm框架, ...

  7. thinkphp一键清除缓存的方法

    后台控制器: <?php namespace Home\Controller; use Think\Controller; class HuancuController extends Cont ...

  8. ZOJ-1107-FatMouse and Cheese-dfs+记忆化搜索

    FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension ...

  9. PHP面向对象编程题(方法的实践)

    <?php header('content-type:text/html;charset=utf-8'); /*设计一个peron类(有名字,年龄和蛋糕三个属性) 蛋糕一共1000块,是所有人共 ...

  10. 处理提交html危险代码的异常方法

    当向asp.net mvc提交有html标签的值时,服务器会报检测到潜在危险的Request.Form值,处理方法如下: 1:在接收处理的Action方法上面加上 [VaildateInput(fal ...