ReactOS 0.4.16-dev-2354-g16de117
UserIdleTime.c File Reference
#include <stdio.h>
#include <windef.h>
#include <winbase.h>
#include <winuser.h>
#include <ndk/psfuncs.h>
Include dependency graph for UserIdleTime.c:

Go to the source code of this file.

Macros

#define WIN32_NO_STATUS
 
#define NTOS_MODE_USER
 

Functions

int _cdecl wmain (_In_ int argc, _In_reads_(argc) _Pre_z_ wchar_t **argv)
 

Macro Definition Documentation

◆ NTOS_MODE_USER

#define NTOS_MODE_USER

Definition at line 18 of file UserIdleTime.c.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 13 of file UserIdleTime.c.

Function Documentation

◆ wmain()

int _cdecl wmain ( _In_ int  argc,
_In_reads_(argc) _Pre_z_ wchar_t **  argv 
)

Definition at line 23 of file UserIdleTime.c.

26{
27 DWORD dwTickCount, dwError;
28 LASTINPUTINFO lii = { sizeof(lii) };
29
30 puts("User idle time in second (LastSystemRITEventTickCount, GetLastInputInfo):");
31 for (;;)
32 {
33 dwTickCount = GetTickCount();
34 if (!GetLastInputInfo(&lii))
35 {
36 dwError = GetLastError();
37 printf("GetLastInputInfo failed with: 0x%08lX\n", dwError);
38 return dwError;
39 }
40 printf("\t%lu, %lu\n",
41 (dwTickCount - SharedUserData->LastSystemRITEventTickCount) / 1000UL,
42 (dwTickCount - lii.dwTime) / 1000UL);
43 Sleep(1000);
44 }
45
46 return 0;
47}
int puts(const char *string)
Definition: crtsupp.c:23
ULONG WINAPI DECLSPEC_HOTPATCH GetTickCount(void)
Definition: sync.c:182
unsigned long DWORD
Definition: ntddk_ex.h:95
#define printf
Definition: freeldr.h:104
#define SharedUserData
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
Definition: synch.c:726
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
BOOL WINAPI GetLastInputInfo(_Out_ PLASTINPUTINFO)