c# 如何获取键盘和鼠标处于空闲状态的时间
2010-06-23 17:05
1861 查看
c# 如何获取键盘和鼠标处于空闲状态的时间 ,可以通过windows api 函数GetLastInputInfo 或者 全局钩子HOOK来实现。
下面就针对GetLastInputInfo 写了个DEMO,判断鼠标键盘空闲时间超过15分站则自动弹出视频播放窗口播放视频。
新建windows 应用程序项目,代码如下:
下面就针对GetLastInputInfo 写了个DEMO,判断鼠标键盘空闲时间超过15分站则自动弹出视频播放窗口播放视频。
新建windows 应用程序项目,代码如下:
using System; using System.Collections.Generic; using System.Windows.Forms; using System.Runtime.InteropServices; namespace APPDEMO { static class Program { private static VedioForm vf = null; private static System.Windows.Forms.Timer timer1 = null; /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //启用定时器 if (timer1 == null) { timer1 = new Timer(); } timer1.Interval = 60*1000; timer1.Tick += new EventHandler(timer1_Tick); timer1.Start(); Application.Run(new MainForm()); } private static void timer1_Tick(object sender, EventArgs e) { //判断空闲时间是否超过15分钟,超过则自动弹出视频播放窗口 if (GetIdleTick() / 1000 >= 15*60) { ShowVidioForm(); } } /// <summary> /// 打开视频播放窗口 /// </summary> private static void ShowVidioForm() { try { if (vf == null) { vf = new VedioForm(); } vf.ShowDialog(); } catch { } } /// <summary> /// 获取鼠标键盘空闲时间 /// </summary> /// <returns></returns> public static long GetIdleTick() { LASTINPUTINFO lastInputInfo = new LASTINPUTINFO(); lastInputInfo.cbSize = Marshal.SizeOf(lastInputInfo); if (!GetLastInputInfo(ref lastInputInfo)) return 0; return Environment.TickCount - (long)lastInputInfo.dwTime; } [StructLayout(LayoutKind.Sequential)] private struct LASTINPUTINFO { [MarshalAs(UnmanagedType.U4)] public int cbSize; [MarshalAs(UnmanagedType.U4)] public uint dwTime; } /// <summary> /// 调用windows API获取鼠标键盘空闲时间 /// </summary> /// <param name="plii"></param> /// <returns></returns> [DllImport("user32.dll")] private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii); } }
相关文章推荐
- c# 如何获取键盘和鼠标处于空闲状态的时间
- Windows中如何获取键盘和鼠标处于空闲状态的时间
- Windows中如何获取键盘和鼠标处于空闲状态的时间
- 【转】Windows中如何获取键盘和鼠标处于空闲状态的时间
- 获取键盘和鼠标处于空闲状态的时间
- 获取键盘和鼠标处于空闲状态的时间
- C#获取键盘和鼠标操作的时间的类
- C#通过Windows API 获取键盘和鼠标操作的时间的类
- BCB获取键盘、鼠标空闲时间
- 如何在C#.Net中获取、屏蔽鼠标键盘消息?
- C# 获取键盘和鼠标闲置的时间
- C#获取键盘和鼠标操作的时间的类
- 获取系统空闲时刻(鼠标键盘无动作时间)
- [C#]C#如何获取\设置键盘按键状态
- C#获取键盘和鼠标操作的时间的类
- C# 如何获取鼠标在屏幕上的位置,不论程序是否为活动状态
- [C#]C#如何获取键盘状态
- golang windows idle time (键盘鼠标的空闲时间)
- 如何在C#中使用全局鼠标、键盘Hook
- C#中如何获取鼠标的位置坐标