`
weizhai12
  • 浏览: 145483 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#获取键盘和鼠标操作的时间的类

 
阅读更多

最近在开发项目时需要实现屏保功能,即用户在设定的时间内没有对系统进行操作时,系统将会自动进入屏保状态。

为此封装了一个获取鼠标键盘动作的类,并有一个方法可以返回用户多长时间没有操作系统的时间。

代码如下:

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#处理鼠标和键盘事件

    C#处理鼠标和键盘事件C#处理鼠标和键C#处理鼠标和键盘事件盘事件

    获取系统空闲时刻(鼠标键盘无动作时间)

    获取系统空闲时刻(鼠标键盘无动作时间) 需要做一项功能,像QQ一样,自动设置状态,必须要取得系统空间时间,即多长时间没有鼠标键盘消息,就执行下设定好的操作。本程序可以显示系统空间的时间。

    C# 钩子,实现键盘和鼠标的全部事件全局Hook.(完整源码)

    全局的Hook,可以获取MouseMove,MouseClick,MouseDown Up,DoubClick. 滚轮,Press,键盘的KeyPress,keyDown,KeyUp

    C# 模拟键盘鼠标操作 快捷键

    通过hook鼠标实现 模拟鼠标点击 获取鼠标位置 移动鼠标 增加键盘快捷键 可以用来实现一些简单的重复性的工作。

    c# winform 鼠标、键盘消息拦截

    vs2013 c# winform ,PreFilterMessage拦截本程序内的鼠标消息,获取鼠标与键盘钩子获取鼠标与键盘消息,或者取消键盘消息

    c#hook键盘鼠标

    自己在利用C#开发鼠标键盘录制回放软件,已经完成开发了,呵呵 把自己在做的时候用到的一些比较好的参考资料发上来,大家有需要的看一下。 现在正在做linux下的鼠标键盘录制和回放,做好了也把参考资料发上来...

    winform键盘和鼠标事件的捕捉与重写(快捷键)

    winform键盘输入事件和鼠标滚轮事件的捕捉与重写

    VB.Net获取键盘鼠标动作的方法(无源码,有代码)

    VB.Net获取键盘鼠标动作的方法,截取鼠标、键盘操作的动作,并可加以控制。

    C#做的(捕获键盘按键和鼠标位置)

    C#做的,可用于捕获键盘按键和鼠标位置◎_◎好东西,和有识之士分享^_^

    C# 系统无操作自动锁定程序

    C# winfrom 程序 源码 测试项目 直接运行 判断鼠标键盘时间系统是否在一段时间没有操作, 倒计时自动锁定程序

    C# 模拟键盘操作

    模拟鼠标和键盘 注意:不支持Windows 8 / 8.1。 Interceptor是Windows键盘驱动程序的包装器(包装http://oblita.com/Interception)。 使用驱动程序,Interceptor可以模拟按键和鼠标点击... 使用DirectX的游戏,...

    C#截屏保存图像,C#模拟鼠标键盘

    C#截屏保存图像,C#模拟鼠标键盘,第3方没有接口时,可截屏后OCR获取第三方反馈信息,同时模拟鼠标键盘将信息输入到第三方

    VB.net捕获键盘按键和鼠标位置

    在VB.net的环境下实现捕获键盘按键和鼠标位置的例程

    c#常用的42个类

    c#全局键盘钩子 C#水波 cmd Cookie ftp GMT时间转换 IE(外部浏览器操作) IEcookie清除 IE浏览器注册表操作 IE设置代理 int转ip Post、Get stmp邮件 string生成图片 s扫描器调用 txt操作 wenjian win7判断管理员身份 ...

    C#通过API控制窗体鼠标键盘

    C#通过调用API控制另外一个进程的窗体,输入数据,改变大小和位置,获取屏幕分辨率,控制鼠标等等,源码可以二次开发。里边有测试窗体代码,教会你怎么用

    C# 各种通用类集合

    11.键盘操作辅助类,提供属性访问敲击那个键,以及发送软键盘消息等操作 MyKeyboardHelper.cs。 12.Base64加密解密 MyBase64Helper.cs MD5加密等操作辅助类 MyMD5Helper.cs 13.鼠标辅助操作类,提供获取鼠标状态...

    远程控制计算机鼠标键盘的实现

    可以获取客户端的屏幕,并对其鼠标键盘进行远程控制

    c#获取电脑空闲时间

    VS2015 获取电脑空闲时间(鼠标键盘无输入),运行后在本地生成Tconf 里面写着当前的空闲毫秒数。

    C#公共通用类

    2.Access数据库文件操作辅助类(JetAccessUtil.cs) 5.查询条件组合辅助类(SearchCondition.cs) 6.查询信息实体类(SearchInfo.cs) 8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ...

    C#公共类通用类非常齐全

    2.Access数据库文件操作辅助类(JetAccessUtil.cs) 5.查询条件组合辅助类(SearchCondition.cs) 6.查询信息实体类(SearchInfo.cs) 8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ...

Global site tag (gtag.js) - Google Analytics