获取windows空闲时间

c++

Posted by YiMiTuMi on April 23, 2023

获取windows上次输入操作的时间

GetLastInputInfo是一种函数,功能是获取上次输入操作的时间。

这个函数尚未导出所以需要获取下函数地址。

定义:

static HINSTANCE hinstDLL;

typedef BOOL (CALLBACK *GetLastInputInfoExport)(PLASTINPUTINFO plii);

GetLastInputInfoExport Procee;

声明:

hinstDLL = LoadLibraryW(L"User32.dll");
if (hinstDLL != NULL)
{ 
	Procee = (GetLastInputInfoExport)GetProcAddress(hinstDLL, "GetLastInputInfo");
}

LASTINPUTINFO tttt; 

tttt.cbSize=sizeof(LASTINPUTINFO); 

Procee(&tttt);  

DWORD ddddd = ::GetTickCount() - tttt.dwTime;

因为 GetLastInputInfo 函数获取的是上次输入事件发生时的系统运行时间,所以

DWORD ddddd = ::GetTickCount() - tttt.dwTime;

就是过去空闲了多长时间。