As if by magic...
http://www.codeproject.com/KB/miscct...tion_Idle.aspx
hi
Thanks for reply and Sorry for my late response.
The code given in Code Project link was not working well. I have modified that code according to me, it doesn't work. Following is my modified code:
public bool PreFilterMessage(ref Message m)
{
// Just to see the messages.
Console.WriteLine(DateTime.Now + " " + m.ToString());
switch (m.Msg)
{
case WM_KEYDOWN:
lastKeyOrMouse = DateTime.Now;
break;
case WM_KEYUP:
lastKeyOrMouse = DateTime.Now;
break;
case WM_LBUTTONDBLCLK:
lastKeyOrMouse = DateTime.Now;
break;
case WM_LBUTTONDOWN:
lastKeyOrMouse = DateTime.Now;
break;
case WM_LBUTTONUP:
lastKeyOrMouse = DateTime.Now;
break;
case WM_MBUTTONDBLCLK:
lastKeyOrMouse = DateTime.Now;
break;
case WM_MBUTTONDOWN:
lastKeyOrMouse = DateTime.Now;
break;
case WM_MBUTTONUP:
lastKeyOrMouse = DateTime.Now;
break;
case WM_MOUSEMOVE:
lastKeyOrMouse = DateTime.Now;
break;
case WM_MOUSEWHEEL:
lastKeyOrMouse = DateTime.Now;
break;
case WM_RBUTTONDBLCLK:
lastKeyOrMouse = DateTime.Now;
break;
case WM_RBUTTONDOWN:
lastKeyOrMouse = DateTime.Now;
break;
case WM_RBUTTONUP:
lastKeyOrMouse = DateTime.Now;
break;
case WM_SYSKEYDOWN:
lastKeyOrMouse = DateTime.Now;
break;
case WM_SYSKEYUP:
lastKeyOrMouse = DateTime.Now;
break;
case WM_XBUTTONDBLCLK:
lastKeyOrMouse = DateTime.Now;
break;
case WM_XBUTTONDOWN:
lastKeyOrMouse = DateTime.Now;
break;
case WM_XBUTTONUP:
lastKeyOrMouse = DateTime.Now;
break;
}
return false;
}
Previously it was looks like the following code:
public bool PreFilterMessage(ref Message m)
{
switch (m.Msg)
{
case WM_KEYDOWN:
case WM_KEYUP:
case WM_LBUTTONDBLCLK:
case WM_LBUTTONDOWN:
case WM_LBUTTONUP:
case WM_MBUTTONDBLCLK:
case WM_MBUTTONDOWN:
case WM_MBUTTONUP:
case WM_MOUSEMOVE:
case WM_MOUSEWHEEL:
case WM_RBUTTONDBLCLK:
case WM_RBUTTONDOWN:
case WM_RBUTTONUP:
case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
case WM_XBUTTONDBLCLK:
case WM_XBUTTONDOWN:
case WM_XBUTTONUP:
lastKeyOrMouse = DateTime.Now;
break;
}
return false;
}
If my mouse is upon form then MouseMove event occurs in a regular interval, even if no activity done by mouse. My problem still exists.
Regards,
Ashish