最近在开发项目时需要实现屏保功能,即用户在设定的时间内没有对系统进行操作时,系统将会自动进入屏保状态。
为此封装了一个获取鼠标键盘动作的类,并有一个方法可以返回用户多长时间没有操作系统的时间。
代码如下:
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#处理鼠标和键盘事件盘事件
获取系统空闲时刻(鼠标键盘无动作时间) 需要做一项功能,像QQ一样,自动设置状态,必须要取得系统空间时间,即多长时间没有鼠标键盘消息,就执行下设定好的操作。本程序可以显示系统空间的时间。
全局的Hook,可以获取MouseMove,MouseClick,MouseDown Up,DoubClick. 滚轮,Press,键盘的KeyPress,keyDown,KeyUp
通过hook鼠标实现 模拟鼠标点击 获取鼠标位置 移动鼠标 增加键盘快捷键 可以用来实现一些简单的重复性的工作。
vs2013 c# winform ,PreFilterMessage拦截本程序内的鼠标消息,获取鼠标与键盘钩子获取鼠标与键盘消息,或者取消键盘消息
自己在利用C#开发鼠标键盘录制回放软件,已经完成开发了,呵呵 把自己在做的时候用到的一些比较好的参考资料发上来,大家有需要的看一下。 现在正在做linux下的鼠标键盘录制和回放,做好了也把参考资料发上来...
winform键盘输入事件和鼠标滚轮事件的捕捉与重写
VB.Net获取键盘鼠标动作的方法,截取鼠标、键盘操作的动作,并可加以控制。
C#做的,可用于捕获键盘按键和鼠标位置◎_◎好东西,和有识之士分享^_^
C# winfrom 程序 源码 测试项目 直接运行 判断鼠标键盘时间系统是否在一段时间没有操作, 倒计时自动锁定程序
模拟鼠标和键盘 注意:不支持Windows 8 / 8.1。 Interceptor是Windows键盘驱动程序的包装器(包装http://oblita.com/Interception)。 使用驱动程序,Interceptor可以模拟按键和鼠标点击... 使用DirectX的游戏,...
C#截屏保存图像,C#模拟鼠标键盘,第3方没有接口时,可截屏后OCR获取第三方反馈信息,同时模拟鼠标键盘将信息输入到第三方
在VB.net的环境下实现捕获键盘按键和鼠标位置的例程
c#全局键盘钩子 C#水波 cmd Cookie ftp GMT时间转换 IE(外部浏览器操作) IEcookie清除 IE浏览器注册表操作 IE设置代理 int转ip Post、Get stmp邮件 string生成图片 s扫描器调用 txt操作 wenjian win7判断管理员身份 ...
C#通过调用API控制另外一个进程的窗体,输入数据,改变大小和位置,获取屏幕分辨率,控制鼠标等等,源码可以二次开发。里边有测试窗体代码,教会你怎么用
11.键盘操作辅助类,提供属性访问敲击那个键,以及发送软键盘消息等操作 MyKeyboardHelper.cs。 12.Base64加密解密 MyBase64Helper.cs MD5加密等操作辅助类 MyMD5Helper.cs 13.鼠标辅助操作类,提供获取鼠标状态...
可以获取客户端的屏幕,并对其鼠标键盘进行远程控制
VS2015 获取电脑空闲时间(鼠标键盘无输入),运行后在本地生成Tconf 里面写着当前的空闲毫秒数。
2.Access数据库文件操作辅助类(JetAccessUtil.cs) 5.查询条件组合辅助类(SearchCondition.cs) 6.查询信息实体类(SearchInfo.cs) 8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ...
2.Access数据库文件操作辅助类(JetAccessUtil.cs) 5.查询条件组合辅助类(SearchCondition.cs) 6.查询信息实体类(SearchInfo.cs) 8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ...