下面来看一个VC++根据explorer.exe进程检测用户是否已登录,希望例子能帮助到各位。
代码如下 | |
void CALLBACK timeCall(UINT timeid, UINT umsg, DWORD_PTR dwUser, DWORD dw1, DWORD_PTR dw2) { DWORD dwSessionId = WTSGetActiveConsoleSessionId(); //获取控制台的session HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //为创建环境快照 if (hSnap == INVALID_HANDLE_VALUE) return; //遍历快照,通过快照的 procEntry.szExeFile 获取应用程序名字,从而取得相应的PID DWORD dwExplorerPid = -1; LOG_INFO("检测用户是否已经登录 : %s", (dwExplorerPid == -1) ? "未登录" : "已经登录"); |