检测鼠标键盘多久没有活动(使用GetLastInputInfo API函数检测)
2024-10-09 21:36:31
DELPHI代码
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls;
- type
- TForm1 = class(TForm)
- Button1: TButton;
- Timer1: TTimer;
- procedure Timer1Timer(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- //typedef struct tagLASTINPUTINFO {
- //UINT cbSize;
- // DWORD dwTime;
- // LASTINPUTINFO, *PLASTINPUTINFO;
- type
- LASTINPUTINFO = record
- cbSize:UINT;
- dwTime:DWORD;
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- function GetInputAwayTime():DWORD;
- var
- lpi:TLastInputInfo;
- begin
- lpi.cbSize := sizeof(lpi);
- GetLastInputInfo(lpi);
- Result := Round((GetTickCount()-lpi.dwTime)/1000);
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- Caption := IntToStr(GetInputAwayTime)
- end;
- end.
VC代码
- DWORD GetInputAwayTime()
- {
- LASTINPUTINFO lpi;
- lpi.cbSize = sizeof(lpi);
- GetLastInputInfo(&lpi);
- return DWORD((GetTickCount()-lpi.dwTime)/1000);
- }
http://blog.csdn.net/cmdasm/article/details/10158601
最新文章
- 关于float和margin
- PagerTabStrip在ViewPager的页面中添加标题显示
- JavaScript学习笔记——事件
- ruby -- 进阶学习(十六)ckeditor去除“浏览服务器”按钮
- c# 控件闪烁处理方法
- 详解SSH框架的原理和优点
- 俄罗斯方块:win32api开发
- Visual C++学习笔记1:一定要注意ANSI和UNICODE差额
- linux kernel 编译
- Git - git tag - 查看当前分支 tag 版本&;说明
- 使用Roslyn编译项目的示例
- iOS开发 -------- transform属性(形变)
- 5款替代微软Visio的开源免费软件
- vim 快捷键(update)
- sort a given string
- Easyui datagrid绑定数据,新增,修改,删除方法(一)
- 查询orcale运行的SQL语句记录
- 制作高仿QQ的聊天系统(上)—— 布局文件 &; 减少过度绘制
- SpringBoot(十三)-- 不同环境下读取不同配置
- ubuntu安装maven