如何知道与进程关联的用户是否处于活动状态

时间:2014-11-19 14:58:44

标签: c++ windows qt winapi

我使用GetPixel获取Program Manager(桌面)某些点的颜色,但如果系统切换到其他用户,则GetPixel始终返回white

所以我需要知道用户是否处于活动状态,或者系统是否已切换到另一个用户。

解决方案适用于操作系统:Windows XP直到Windows 8。

这就是我的所作所为:

HWND ProgmanHwnd = FindWindow(L"Progman", L"Program Manager");
if (!ProgmanHwnd) return;
HDC hDC = GetWindowDC(ProgmanHwnd);
if (!hDC) return;
COLORREF color = GetPixel(hDC, 10, 10); // it's always white when a used is logged off

1 个答案:

答案 0 :(得分:0)

尝试使用WTSEnumerateSessionsEx。返回的结构包含有用的字段StatepUserName