Activités utilisateurs depuis Windows Service
Bonjour,
J'ai une application qui doit détecter la présence d'un utilisateur et effectuer une action (fermeture de session, ...) par exemple si ce dernier est absent pendant une période de 5min !
J'ai essayé avec :
-
Citation:
Cursor.Position couplé avec 2 timers
Citation:
[DllImport("kernel32.dll", SetLastError = true)]
static extern uint GetTickCount();
[DllImport("user32.dll", SetLastError = true)]
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
[StructLayout(LayoutKind.Sequential)]
struct LASTINPUTINFO
{
public static readonly int SizeOf = Marshal.SizeOf(typeof(LASTINPUTINFO));
[MarshalAs(UnmanagedType.U4)]
public int cbSize;
[MarshalAs(UnmanagedType.U4)]
public uint dwTime;
}
public static bool IsInputIdle(int idleTimeoutSecond)
{
LASTINPUTINFO LInInfo=new LASTINPUTINFO();
LInInfo.cbSize = LASTINPUTINFO.SizeOf;
if (GetLastInputInfo(ref LInInfo) == true)
{
bool test = (GetTickCount() - LInInfo.dwTime) > idleTimeoutSecond;
return (GetTickCount() - LInInfo.dwTime) > idleTimeoutSecond;
}
else
return false;
}
Mon application fonctionne très bien si je la lance dans la session de l'utilisateur mais pas en tant que service !
je sèche un peu quelqu'un a une idée ?
Merci de votre aide