C# 判断系统空闲(键盘、鼠标不操作一段时间)

利用windows API函数 GetLastInputInfo()来判断系统空闲

//添加引用 using System.Runtime.InteropServices;

 1   // 创建结构体用于返回捕获时间
 2   [StructLayout(LayoutKind.Sequential)]
 3   struct LASTINPUTINFO
 4   {
 5   // 设置结构体块容量
 6   [MarshalAs(UnmanagedType.U4)]
 7   public int cbSize;
 8   // 捕获的时间
 9   [MarshalAs(UnmanagedType.U4)]
10   public uint dwTime;
11   }
12   [DllImport("user32.dll")]
13   private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
14 // 获取键盘和鼠标没有操作的时间
15   private static long GetLastInputTime()
16   {
17   LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO();
18   vLastInputInfo.cbSize = Marshal.SizeOf(vLastInputInfo);
19   // 捕获时间
20   if (!GetLastInputInfo(ref vLastInputInfo))
21        return 0;
22   else
23      return Environment.TickCount - (long)vLastInputInfo.dwTime;
24   } 
时间: 2024-10-06 00:16:32

C# 判断系统空闲(键盘、鼠标不操作一段时间)的相关文章

ubuntu 系统在播放视频时,一段时间后黑屏

在网上查阅了相关的资料,有下面几种方法: 1.setterm -blank 0 这种方法在这篇博客中偶详细的描述,但是在实际操作中并未生效. Linux LCD 10分钟黑屏,十分钟黑屏,LCD自动关闭,LCD黑屏 问题 2.安装 2.6.2程序防止系统进入黑屏 这个方法没有尝试,这个必须在gnome环境下才使用,但是借助这种思路找到第三种方法 安装 Caffeine方法如下: 安装方法: sudo add-apt-repository ppa:caffeine-developers/ppa s

android 1080P Launcher操作一段时间后占用300M以上RAM

1)在Launcher的onStop方法中去调用AppsCustomizeTabHost的onTrimMemory()方法,并调用System.gc()方法. 2)在AppsCustomizeTabHost的onTrimMemory()方法增加调用AppsCustomizePagedView.clearAllAppPages(): 3)在AppsCustomizePagedView.java中增加clearAllAppPages()方法,此方法中将app页面移除并设置为dirty. 在Launc

键盘鼠标模拟全知道

http://www.cnblogs.com/bjxsky/p/3656076.html 本文目录如下 一.基于windows 消息机制的鼠标键盘模拟  (一).应用程序级模拟  (二).系统级模拟         1. 用API函数keybd_event 模拟键盘事件         2. SendInput函数模拟全局键盘鼠标事件         3.用全局钩子模拟键盘消息 二.驱动级模拟 ***************************************************

系统空闲时间判断&命名验证

一.系统空闲时间判断 需要一个自动登录注销的功能,当鼠标移动和或者键盘输入的时候认为当前用户在线,否则过了设置时间就自动退出.好在前辈们留下了这样的一个类: MouseKeyBoardOperate: using System; using System.Runtime.InteropServices; namespace SCADA.RTDB.Framework.Helpers { /// <summary> /// Class MouseKeyBoardOperate /// </s

[转]C# 系统应用之鼠标模拟技术及自动操作鼠标

原文网址: C# 系统应用之鼠标模拟技术及自动操作鼠标        游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合FindWindow和FindWindowEx寻找到窗体的按钮,在通过SetCursorPos或mouse_event函数操作鼠标,同时涉及到通过spy++工具获取窗体消息的信息. 一. Windows API函数介绍 .NET没有提

C# 系统应用之鼠标模拟技术及自动操作鼠标

游戏程序的操作不外乎两种--键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合FindWindow和FindWindowEx寻找到窗体的按钮,在通过SetCursorPos或mouse_event函数操作鼠标,同时涉及到通过spy++工具获取窗体消息的信息. 一. Windows API函数介绍 .NET没有提供改变鼠标指针位置.模拟单机操作的函数,但是可以通过调用Windows

WPF 窗体中获取键盘和鼠标无操作时的超时提示

原文:WPF 窗体中获取键盘和鼠标无操作时的超时提示 通过调用Windows API中的GetLastInputInfo来获取最后一次输入的时间 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windo

DD XOFT虚拟键盘鼠标

下载:http://www.ddxoft.com/ 简介:最多用户选择,最简单易用,最稳定可靠 永久免费 系统底层集成,真正的驱动级硬件模拟 一键安装,即为电脑添加一对可完全编程控制的键盘鼠标,轻松自动化操作电脑 适用VB6,DELPHI,VC,BC,VB.NET,C#,JAVA,易语言等各种编程语言 支持 WINXP 及以上 32位和64位操作系统 个人桌面应用和游戏工作室装机必备 函数说明:所有函数(除特别说明外)的参数和返回值都为传值int32类型 DD_btn(参数) 功能: 模拟鼠标点

linux系统中一些基本的操作指令

linux 中一些基本的指令:shell    :保护内核 什么是shell[[email protected] Desktop]$ 用户   主机名   directory 用户提示符 ##################date watch -n 1 date                         ##监控date命令每秒钟执行一次date 月月天天小时分钟.秒秒          ##更改时间date -d +400days +%m            #######查看400