我使用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