C#获取键盘和鼠标操作的时间的类
2024-08-30 23:17:57
///
/// 创建结构体用于返回捕获时间
///
[StructLayout(LayoutKind.Sequential)]
struct LASTINPUTINFO
{
///
/// 设置结构体块容量
///
[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 count;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
int sunNumber=int.Parse(GetLastInputTime().ToString());
if (sunNumber >= 30000)
{
this.Close();
}
}
最新文章
- Lua pureMVC
- 使用maven profile实现多环境可移植构建(转自CSDN)
- GacUI学习(二)
- 使用 smartupload 上传图片
- xheditor上传图片配置
- Exception in thread ";main"; java.util.regex.PatternSyntaxException: Unclosed character class near index 0 [ ^
- 《OD大数据实战》MongoDB环境搭建
- centos下的lnmp环境搭建
- 《Programming WPF》翻译 第5章 6.触发器
- 如何将windows版的vim界面语言(默认为中文)设置成英文
- EXCEL随机密码生成函数
- 开发现代ASP.NET应用程序
- matlab unique 顺序不变
- Windows 桌面和文件夹的右键->;打开命令行窗口
- python学习:输入设置
- Js 框架之Vue .JS学习记录 ① 与Vue 初识
- openstack swift 安装(单独对象存储服务)
- Spring源码分析:非懒加载的单例Bean初始化过程(下)
- 重温CSS之文档结构
- sgu 121. Bridges painting 列举情况 难度:1