windows获取进程id和当前进程的会话id

113 篇文章 1 订阅
#include<windows.h>
#include<iostream>
#include<tchar.h>
using namespace std;
int main(){
    
    DWORD processId = GetCurrentProcessId();//当前进程id
    DWORD sessionId;
    if(ProcessIdToSessionId(processId,&sessionId)){
        _tprintf(TEXT("Process '%u' runs in Terminal Services session '%u'"),processId,sessionId);//该函数在tchar.h中
    }
    else{
        _tprintf(TEXT("Unable to get Terminal Services session ID for process '%u'"),processId);
    }
    
}

d:\programming\C++>cl getSessionId.cpp
用于 x86 的 Microsoft (R) C/C++ 优化编译器 18.00.21005.1 版版权所有(C) Microsoft
 Corporation。  保留所有权利。

getSessionId.cpp
c:\program files (x86)\microsoft sdks\windows\v7.1a\include\sal_supp.h(57) : war
ning C4005: “__useHeader”: 宏重定义
        F:\360Apps\vs2013\VC\include\sal.h(2886) : 参见“__useHeader”的前一个定
义
c:\program files (x86)\microsoft sdks\windows\v7.1a\include\specstrings_supp.h(7
7) : warning C4005: “__on_failure”: 宏重定义
        F:\360Apps\vs2013\VC\include\sal.h(2896) : 参见“__on_failure”的前一个
定义
F:\360Apps\vs2013\VC\include\xlocale(337) : warning C4530: 使用了 C++ 异常处理程
序,但未启用展开语义。请指定 /EHsc
Microsoft (R) Incremental Linker Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:getSessionId.exe
getSessionId.obj

d:\programming\C++>getSessionId
Process '5056' runs in Terminal Services session '1'
d:\programming\C++>getSessionId
Process '6572' runs in Terminal Services session '1'
d:\programming\C++>getSessionId
Process '8324' runs in Terminal Services session '1'
d:\programming\C++>getSessionId
Process '8516' runs in Terminal Services session '1'
d:\programming\C++>getSessionId
Process '7748' runs in Terminal Services session '1'

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值