关于远程登入获取会话ID的方法

我在XP上远程登入一台server2003的机子,打开一个服务控制管理程序,并设置了服务允许与桌面进行交互(SERVICE_INTERACTIVE_PROCESS)。现在... 我在XP上远程登入一台server 2003的机子,打开一个服务控制管理程序,并设置了服务允许与桌面进行交互(SERVICE_INTERACTIVE_PROCESS)。现在有个问题是,我怎么才能得到我当前登入的会话ID,因为我要在当前登入的会话ID上面调用CreateProcessAsUser创建进程

C++代码:
if (WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, &sessionInfo, &ndSessionInfoCount))
{
for (unsigned int i=0; i<ndSessionInfoCount; i++)
{
if (sessionInfo[i].State == WTSActive)
{
dwSessionID = sessionInfo[i].SessionId;
sprintf(csTemp, " 活动SessionID=%d", sessionInfo[i].SessionId);
WriteLog(pLogFile, csTemp);
//break;
}
}
}
我输出log看了下,server2003因为允许多个用户同时登入,所以同时处于WTSActive状态的连接会有好几个,至少有两个,因为server2003貌似把系统的服务进程都创建在了一个独立的会话ID上了

请问下,如何才能够得到当前远程登入的会话ID?能否大概把API说一下,有代码就更好啦。
还有就是据说WTSEnumerateSessions函数在sp3上不起作用了,不知道该怎么弄?
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
shb3551
2011-11-17 · 超过14用户采纳过TA的回答
知道答主
回答量:64
采纳率:100%
帮助的人:47.8万
展开全部
net use 查看下
追问
不行,主要是2003系统能同时运行多个账户,多个账户都是同时处于激活状态,这样我无法通过轮训得到到底当前登入的是哪个会话ID
追答
这个我就不清楚了,帮不到你了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式