易语言截图小精灵源码
系统结构:钩子函数,工作程序,系统_取特定目录,线程_建立线程,系统_监视键盘,窗口_状态控制,SetWindowsHookEx,GetAsyncKeyState,窗口_取前台窗口,ShowWindow,CloseHandle,SHGetSpecialFolderPathA,CreateThread,CopyMemory,CallNextHookEx,GetModuleHandle,UnHookWindowsHookEx,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_托盘事件
| |
| |------ __启动窗口_位置被改变
| |
| |------ _显示界面_被选择
| |
| |------ _退出程序_被选择
| |
| |------ _关于_被选择
| |
| |------ 钩子函数
| |
| |------ 工作程序
| |
| |------ _按钮2_被单击
| |
| |------ __启动窗口_可否被关闭
| |
| |
======程序集1
| |
| |------ 系统_取特定目录
| |
| |------ 线程_建立线程
| |
| |------ 系统_监视键盘
| |
| |------ 窗口_状态控制
| |
| |
======调用的Dll
| |
| |---[dll]------ SetWindowsHookEx
| |
| |---[dll]------ GetAsyncKeyState
| |
| |---[dll]------ 窗口_取前台窗口
| |
| |---[dll]------ ShowWindow
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ SHGetSpecialFolderPathA
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ CallNextHookEx
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ UnHookWindowsHookEx
调用的DLL命令:
.DLL命令 SetWindowsHookEx, 整数型, , "SetWindowsHookExA"
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 GetAsyncKeyState, 短整数型, "user32"
.参数 vKey, 整数型
.DLL命令 窗口_取前台窗口, 整数型, "user32", "GetForegroundWindow"
.DLL命令 ShowWindow, 整数型, , "ShowWindow", , 控制窗口的状态(在vb里使用:针对vb窗体及控件,请使用对应的vb属性) 成功:返回TRUE(非零),失败:返回FALSE(零)
.参数 hwnd, 整数型, , 窗口句柄,要向这个窗口应用由命令
.参数 nCmdShow, 整数型, , 为窗口指定的一个命令。请用下述任何一个常数:0 隐藏取消激活 1 还原激活 2 最小化激活 3 最大化激活 4 还原 6 最小化取消激活 7 最小化 9 还原激活
.DLL命令 CloseHandle, 整数型, "kernel32.dll", "CloseHandle", , 公开
.参数 对象句柄, 整数型
.DLL命令 SHGetSpecialFolderPathA, 逻辑型, "shell32.dll", "SHGetSpecialFolderPathA", , 取特定目录
.参数 窗口句柄, 整数型
.参数 路径, 文本型
.参数 标识, 整数型
.参数 是否创建, 逻辑型, , 真:不存在就创建,假:不创建
.DLL命令 CreateThread, 整数型, , "CreateThread", , 创建线程生成线程成功,CreateThread函数返回新线程的句柄。否则返回NULL。线程执行完毕后自动退出(除非进入的是循环)。
.参数 lpThreadAttributes, 整数型, , 线程的security属性,缺省为0
.参数 dwStackSize, 整数型, , 线程的堆栈大小,为0时与进程相同
.参数 lpStartAddress, 子程序指针, , 线程函数的起始地址
.参数 lpParameter, 整数型, , 传递线程的上下文,可以传递一个整数型参数。
.参数 dwCreationFlags, 整数型, , 0:创建线程后立即启动,相反的是标志位CREATE_SUSPENDED,这样您需要稍后显示地让该线程运行(可设为-1)
.参数 lpThreadId, 整数型, 传址, 内核给新生成的线程分配的线程ID
.DLL命令 CopyMemory, , , "RtlMoveMemory"
.参数 Destination, 按键信息, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx"
.参数 hhk, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 GetModuleHandle, 整数型, , "GetModuleHandleA"
.参数 lpModuleName, 整数型
.DLL命令 UnHookWindowsHookEx, 逻辑型, , "UnhookWindowsHookEx"
.参数 hhk, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。