C#获取键盘和鼠标操作的时间的类
2013-01-17 17:43
351 查看
原文转自:http://www.cnblogs.com/kevinGao/archive/2011/09/19/2181464.html
最近在开发项目时需要实现屏保功能,即用户在设定的时间内没有对系统进行操作时,系统将会自动进入屏保状态。
为此封装了一个获取鼠标键盘动作的类,并有一个方法可以返回用户多长时间没有操作系统的时间。
代码如下:
public class MouseKeyBoardOperate
{
///
<summary>
/// 创建结构体用于返回捕获时间
///
</summary>
[StructLayout(LayoutKind.Sequential)]
struct LASTINPUTINFO
{
///
<summary>
/// 设置结构体块容量
///
</summary>
[MarshalAs(UnmanagedType.U4)]
public int cbSize;
/// <summary>
/// 抓获的时间
///
</summary>
[MarshalAs(UnmanagedType.U4)]
public uint dwTime;
}
[DllImport("user32.dll")]
private static extern bool
GetLastInputInfo(ref LASTINPUTINFO plii);
///
<summary>
/// 获取键盘和鼠标没有操作的时间
///
</summary>
///
<returns>用户上次使用系统到现在的时间间隔,单位为秒</returns>
public static
long GetLastInputTime()
{
LASTINPUTINFO vLastInputInfo
= new LASTINPUTINFO();
vLastInputInfo.cbSize =
Marshal.SizeOf(vLastInputInfo);
if (!GetLastInputInfo(ref
vLastInputInfo))
{
return 0;
}
else
{
long count =
Environment.TickCount - (long)vLastInputInfo.dwTime;
long
icount = count / 1000;
return icount;
}
}
}
最近在开发项目时需要实现屏保功能,即用户在设定的时间内没有对系统进行操作时,系统将会自动进入屏保状态。
为此封装了一个获取鼠标键盘动作的类,并有一个方法可以返回用户多长时间没有操作系统的时间。
代码如下:
public class MouseKeyBoardOperate
{
///
<summary>
/// 创建结构体用于返回捕获时间
///
</summary>
[StructLayout(LayoutKind.Sequential)]
struct LASTINPUTINFO
{
///
<summary>
/// 设置结构体块容量
///
</summary>
[MarshalAs(UnmanagedType.U4)]
public int cbSize;
/// <summary>
/// 抓获的时间
///
</summary>
[MarshalAs(UnmanagedType.U4)]
public uint dwTime;
}
[DllImport("user32.dll")]
private static extern bool
GetLastInputInfo(ref LASTINPUTINFO plii);
///
<summary>
/// 获取键盘和鼠标没有操作的时间
///
</summary>
///
<returns>用户上次使用系统到现在的时间间隔,单位为秒</returns>
public static
long GetLastInputTime()
{
LASTINPUTINFO vLastInputInfo
= new LASTINPUTINFO();
vLastInputInfo.cbSize =
Marshal.SizeOf(vLastInputInfo);
if (!GetLastInputInfo(ref
vLastInputInfo))
{
return 0;
}
else
{
long count =
Environment.TickCount - (long)vLastInputInfo.dwTime;
long
icount = count / 1000;
return icount;
}
}
}
相关文章推荐
- C#通过Windows API 获取键盘和鼠标操作的时间的类
- C#获取键盘和鼠标操作的时间的类
- C#获取键盘和鼠标操作的时间的类
- C#捕获鼠标键盘未操作的时间长度
- c# 如何获取键盘和鼠标处于空闲状态的时间
- C# 获取键盘和鼠标闲置的时间
- c# 如何获取键盘和鼠标处于空闲状态的时间
- 获取键盘和鼠标处于空闲状态的时间
- 【转】Windows中如何获取键盘和鼠标处于空闲状态的时间
- (转)c# winform 键盘按键控制操作移动控件,linkLabel,获取按键值,一个俄罗斯方块源码
- 获取鼠标和键盘长时间不动的时间
- 返回用户没有操作键盘和鼠标事件的时间
- 在C#中如何模拟鼠标键盘操作
- C# 模拟 鼠标 键盘操作
- .net杂记 (调用EXE 获取路径 target VB DIV C# Split 页面之间传递值 更改session时间 EXCEL操作 控制电子邮件Mail input记录值的窍门)
- Windows中如何获取键盘和鼠标处于空闲状态的时间
- C# 判断系统空闲(键盘、鼠标不操作一段时间)
- 获取键盘鼠标不动的时间
- c#的时间日期操作示例分享(c#获取当前日期)
- C#按钮控件数组绑定按钮时间和键盘操作事件