易语言截获写注册表消息源码
系统结构:GetMsgProc,MyRegOpenKey,MyRegSetValue,格式化根,INhook,HOOKAPI,VirtualQueryEx_,VirtualProtectEx_,WriteProcessMemory_,GetCurrentProcess_,CallNextHookEx_,LoadLibrary_,GetProcAddress_,CopyMemory_MSG,RegSetValueExA,RegOpenKeyExA,FreeLibrary_,响应,WindowFromPoint_,GetCursorPos_,GetProp_,RemoveProp_,SetProp_,SetWindowsHookEx_,FreeLibrary_,GetProcAddress_,GetWindowThreadProcessId_,LoadLibrary_,UnhookWindowsHookEx_,MessageBox_,PostMessage_,SendMessage_,Sleep_,SetWindowLong_,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ GetMsgProc
| |
| |------ MyRegOpenKey
| |
| |------ MyRegSetValue
| |
| |------ 格式化根
| |
| |
======hookAPI
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ INhook
| |
| |------ HOOKAPI
| |
| |
======调用的Dll
| |
| |---[dll]------ VirtualQueryEx_
| |
| |---[dll]------ VirtualProtectEx_
| |
| |---[dll]------ WriteProcessMemory_
| |
| |---[dll]------ GetCurrentProcess_
| |
| |---[dll]------ CallNextHookEx_
| |
| |---[dll]------ LoadLibrary_
| |
| |---[dll]------ GetProcAddress_
| |
| |---[dll]------ CopyMemory_MSG
| |
| |---[dll]------ RegSetValueExA
| |
| |---[dll]------ RegOpenKeyExA
| |
| |---[dll]------ FreeLibrary_
======窗口程序集1
| |
| |------ 响应
| |
| |------ _取句柄_被单击
| |
| |------ _时钟1_周期事件
| |
| |------ _截获_被单击
| |
| |------ _结束_被单击
| |
| |------ __启动窗口_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ WindowFromPoint_
| |
| |---[dll]------ GetCursorPos_
| |
| |---[dll]------ GetProp_
| |
| |---[dll]------ RemoveProp_
| |
| |---[dll]------ SetProp_
| |
| |---[dll]------ SetWindowsHookEx_
| |
| |---[dll]------ FreeLibrary_
| |
| |---[dll]------ GetProcAddress_
| |
| |---[dll]------ GetWindowThreadProcessId_
| |
| |---[dll]------ LoadLibrary_
| |
| |---[dll]------ UnhookWindowsHookEx_
| |
| |---[dll]------ MessageBox_
| |
| |---[dll]------ PostMessage_
| |
| |---[dll]------ SendMessage_
| |
| |---[dll]------ Sleep_
| |
| |---[dll]------ SetWindowLong_
调用的DLL命令:
.DLL命令 VirtualQueryEx_, 整数型, "kernel32", "VirtualQueryEx"
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型, , 对象指针地址
.参数 lpBuffer, 虚拟信息, , 返回的虚拟信息
.参数 dwLength, 整数型, , 信息长度,已知 28
.DLL命令 VirtualProtectEx_, 逻辑型, "kernel32", "VirtualProtectEx"
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型, , 虚拟信息.BaseAddress
.参数 dwSize, 整数型, , 虚拟信息.RegionSize
.参数 flNewProtect, 整数型, , 修改类型,#PAGE_EXECUTE_READWRITE 64为可读写模式
.参数 lpflOldProtect, 整数型, 传址, 虚拟信息.Protect
.DLL命令 WriteProcessMemory_, 逻辑型, "kernel32", "WriteProcessMemory", , 在指定进程中写内存
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 起始写入地址, 整数型, , 起始写入地址
.参数 要写入的内容, 字节集, , 本参数的类型也能是“字节”型。
.参数 写入长度, 整数型, , 写入的数据长度。
.参数 实际写入长度, 整数型, , 实际写入的数据长度,为0则忽略。
.DLL命令 GetCurrentProcess_, 整数型, "kernel32", "GetCurrentProcess"
.DLL命令 CallNextHookEx_, 整数型, "user32", "CallNextHookEx", , 调中链中的下一个挂钩过程
.参数 hHook, 整数型
.参数 ncode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 LoadLibrary_, 整数型, "kernel32", "LoadLibraryA", , 载入指定的动态链接库,并将它映射到当前进程使用的地址空间。一旦载入,即可访问库内保存的资源 成功则返回库模块的句柄,零表示失败。会设置GetLastError
.参数 lpLibFileName, 文本型, , 指定要载入的动态链接库的名称。采用与CreateProcess函数的lpCommandLine参数指定的同样的搜索顺序;
.DLL命令 GetProcAddress_, 整数型, "kernel32", "GetProcAddress", , 返回函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 CopyMemory_MSG, , "kernel32.dll", "RtlMoveMemory", ,
.参数 pBlock, MSG
.参数 缓冲区, 整数型
.参数 尺寸, 整数型
.DLL命令 RegSetValueExA, 整数型, , "RegSetValueExA", , 写注册表项
.参数 hKey, 整数型
.参数 lpValueName, 文本型
.参数 Reserved, 整数型
.参数 dwType, 整数型
.参数 lpData, 文本型
.参数 cbData, 整数型
.DLL命令 RegOpenKeyExA, 整数型, , "RegOpenKeyExA", , 打开注册表项
.参数 hKey, 整数型
.参数 lpSubKey, 文本型
.参数 ulOptions, 整数型
.参数 samDesired, 整数型
.参数 phkResult, 整数型, 传址
.DLL命令 FreeLibrary_, 整数型, "kernel32", "FreeLibrary", , , 释放指定的动态链接库,它们早先是用LoadLibrary ; API函数装载的 非零表示成功,零表示失败。会设置GetLastError
.参数 库句柄, 整数型, , 要释放的一个库句柄在VB里使用只能用这个函数释放那些由应用程序明确装载的DLL。对LoadLibrary的每一次调用都应该有一个对应的FreeLibrary调用;
调用的DLL命令:
.DLL命令 WindowFromPoint_, 整数型, "user32.dll", "WindowFromPoint"
.参数 横坐标, 整数型, , xPoint,x点值
.参数 纵坐标, 整数型, , yPoint,y点值
.DLL命令 GetCursorPos_, 整数型, "user32", "GetCursorPos"
.参数 位置, 坐标_
.DLL命令 GetProp_, 整数型, "user32", "GetPropA", , 从窗口属性表列中返回数据句柄
.参数 hwnd, 整数型
.参数 lpString, 文本型
.DLL命令 RemoveProp_, 整数型, "user32", "RemovePropA", , 删除属性列入口
.参数 hwnd, 整数型
.参数 lpString, 文本型
.DLL命令 SetProp_, 整数型, "user32", "SetPropA", , 增加或修改属性列项
.参数 hwnd, 整数型
.参数 lpString, 文本型
.参数 hData, 整数型
.DLL命令 SetWindowsHookEx_, 整数型, "user32", "SetWindowsHookExA", , 安装钩子过程
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 FreeLibrary_, 整数型, "kernel32", "FreeLibrary", , 释放指定的动态链接库,它们早先是用LoadLibrary ; API函数装载的 非零表示成功,零表示失败。会设置GetLastError
.参数 库句柄, 整数型, , 要释放的一个库句柄在VB里使用只能用这个函数释放那些由应用程序明确装载的DLL。对LoadLibrary的每一次调用都应该有一个对应的FreeLibrary调用;
.DLL命令 GetProcAddress_, 子程序指针, "kernel32", "GetProcAddress", , 返回函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 GetWindowThreadProcessId_, 整数型, "user32", "GetWindowThreadProcessId", , ; 获取与指定窗口关联在一起的一个进程和线程标识符 拥有窗口的线程的标识符
.参数 hwnd, 整数型, , 指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.参数 lpdwProcessId, 整数型, 传址, 指定窗口句柄;
.DLL命令 LoadLibrary_, 整数型, "kernel32", "LoadLibraryA", , 载入指定的动态链接库,并将它映射到当前进程使用的地址空间。一旦载入,即可访问库内保存的资源 成功则返回库模块的句柄,零表示失败。会设置GetLastError
.参数 动态链接库名称, 文本型, , 指定要载入的动态链接库的名称。采用与CreateProcess函数的lpCommandLine参数指定的同样的搜索顺序;
.DLL命令 UnhookWindowsHookEx_, 整数型, "user32", "UnhookWindowsHookEx", , 从钩子链中删除函数
.参数 hHook, 整数型
.DLL命令 MessageBox_, 整数型, "user32", "MessageBoxA", , 建立消息框窗体
.参数 hwnd, 整数型
.参数 lpText, 文本型
.参数 lpCaption, 文本型
.参数 wType, 整数型
.DLL命令 PostMessage_, 整数型, "user32", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 hwnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
.参数 wMsg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
.DLL命令 SendMessage_, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 Sleep_, , "kernel32", "Sleep", , 暂停线索
.参数 dwMilliseconds, 整数型
.DLL命令 SetWindowLong_, 子程序指针, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 子程序指针, , 由nIndex指定的窗口信息的新值;
易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...
易语言其它简易换肤13种源码,配色...
易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...
易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...
易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...
易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...
易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...
易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...
易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...