易语言彗星热键模块源码
系统结构:彗星注册窗口热键,彗星撤销窗口热键,热键处理初始化,CallProc,SetHotKeyProp,GetHotKeyProp,IsHotKey,Hook_WndProc,Hook_OnCreate,HotKey_CallWindowProc,HotKey_SubClassWindow,HotKey_OnMessage,HotKey_OnKeyDown,HotKey_OnKeyUP,HotKey_OnChar,HotKey_OnHotkeyMsg,CallNextHookEx,CallWindowProc,SendMessage,SetWindowsHookEx,GetModuleHandle,GetCurrentThread,GetCurrentThreadId,RtlMoveMemory_CWPSTRUCT,SetWindowLong,GetProp,SetProp,DefWindowProc,GetAncestor,GetWindow,IsWindow,GetKeyboardState,CallWindowProc_Bin,GetKeyState,GetAsyncKeyState,RegisterWindowMessage,PostMessage,RemoveProp,
======模块功能程序集
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 彗星注册窗口热键
| |
| |------ 彗星撤销窗口热键
| |
| |------ 热键处理初始化
| |
| |
======辅助处理程序集
| |
| |------ CallProc
| |
| |------ SetHotKeyProp
| |
| |------ GetHotKeyProp
| |
| |------ IsHotKey
| |
| |
======消息响应程序集
| |
| |------ Hook_WndProc
| |
| |------ Hook_OnCreate
| |
| |------ HotKey_CallWindowProc
| |
| |------ HotKey_SubClassWindow
| |
| |------ HotKey_OnMessage
| |
| |------ HotKey_OnKeyDown
| |
| |------ HotKey_OnKeyUP
| |
| |------ HotKey_OnChar
| |
| |------ HotKey_OnHotkeyMsg
| |
| |
======调用的Dll
| |
| |---[dll]------ CallNextHookEx
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ SetWindowsHookEx
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ GetCurrentThread
| |
| |---[dll]------ GetCurrentThreadId
| |
| |---[dll]------ RtlMoveMemory_CWPSTRUCT
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ GetProp
| |
| |---[dll]------ SetProp
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ GetAncestor
| |
| |---[dll]------ GetWindow
| |
| |---[dll]------ IsWindow
| |
| |---[dll]------ GetKeyboardState
| |
| |---[dll]------ CallWindowProc_Bin
| |
| |---[dll]------ GetKeyState
| |
| |---[dll]------ GetAsyncKeyState
| |
| |---[dll]------ RegisterWindowMessage
| |
| |---[dll]------ PostMessage
| |
| |---[dll]------ RemoveProp
调用的DLL命令:
.DLL命令 CallNextHookEx, 整数型, "user32", "CallNextHookEx", , 调中链中的下一个挂钩过程
.参数 hHook, 整数型
.参数 ncode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 hWnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 SetWindowsHookEx, 整数型, "user32", "SetWindowsHookExA", , 安装钩子过程
.参数 idHook, 整数型
.参数 lpfn, 整数型
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 GetCurrentThread, 整数型, "kernel32", "GetCurrentThread", , 获取当前线程的一个伪句柄 当前线程的伪句柄
.DLL命令 GetCurrentThreadId, 整数型, "kernel32", "GetCurrentThreadId", , 获取当前线程一个唯一的线程标识符 当前的线程标识符
.DLL命令 RtlMoveMemory_CWPSTRUCT, 整数型, , "RtlMoveMemory"
.参数 Destination, CWPSTRUCT
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 GetProp, 整数型, "user32", "GetPropA", , 从窗口属性表列中返回数据句柄
.参数 hwnd, 整数型
.参数 lpString, 文本型
.DLL命令 SetProp, 整数型, "user32", "SetPropA", , 增加或修改属性列项
.参数 hwnd, 整数型
.参数 lpString, 文本型
.参数 hData, 整数型
.DLL命令 DefWindowProc, 整数型, "user32", "DefWindowProcA", , 调用缺省窗口过程
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 GetAncestor, 整数型, "user32.dll", "GetAncestor", ,
.参数 hwnd, 整数型
.参数 gaFlags, 整数型
.DLL命令 GetWindow, 整数型, "user32", "GetWindow", , 获得一个窗口的句柄,该窗口与某源窗口有特定的关系 由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError
.参数 hwnd, 整数型, , 源窗口
.参数 wCmd, 整数型, , 指定结果窗口与源窗口的关系,它们建立在下述常数基础上:;GW_CHILD:寻找源窗口的第一个子窗口;GW_HWNDFIRST:为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口;GW_HWNDLAST:为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口;GW_HWNDNEXT:为源窗口寻找下一个兄弟窗口;GW_HWNDPREV:为源窗口寻找前一个兄弟窗口;GW_OWNER:寻找窗口的所有者;
.DLL命令 IsWindow, 整数型, "user32", "IsWindow", , 判断一个窗口句柄是否有效 非零表示成功,零表示失败
.参数 hwnd, 整数型, , 待检查窗口的句柄;
.DLL命令 GetKeyboardState, 整数型, "user32", "GetKeyboardState", , 取得键盘上每个虚拟键当前的状态 非零表示成功,零表示失败。会设置GetLastError
.参数 pbKeyState, 字节型, , 总共含256个条目的字节数组中的第一个项目。每个字节都会附带载入与虚拟键对应的状态。如开关键打开,则位0设为1(开关键包括CapsLock, NumLock, ScrollLock);如某个键当时按下,则位7为1;如已经抬起,则为0;
.DLL命令 CallWindowProc_Bin, 整数型, "user32.dll", "CallWindowProcA"
.参数 机器码, 字节集
.参数 程序指针, 整数型
.参数 参数1, 整数型
.参数 参数2, 整数型
.参数 参数3, 整数型
.DLL命令 GetKeyState, 短整数型, "user32", "GetKeyState", , 针对已处理过的按键,在最近一次输入信息时,判断指定虚拟键的状态 如开关键打开,则位0设为1(开关键包括CapsLock, ; NumLock,ScrollLock);如某个键当时正处于按下状态,则位15为1;如已经抬起,则为0
.参数 nVirtKey, 整数型, , 欲测试的虚拟键键码。对字母、数字字符(A-Z、a-z、0-9),用它们实际的ASCII值;
.DLL命令 GetAsyncKeyState, 短整数型, "user32", "GetAsyncKeyState", , 判断函数调用时指定虚拟键的状态 自对GetAsyncKeyState函数的上一次调用以来,如键已被按过,则位0设为1;否则设为0。如键目前处于按下状态,则位15设为1;如抬起,则为0。微软的win32手册指出:倘若输入焦点从属于与调用函数的输入线程不同的另一个输入线程,则返回值为0(例如,一旦另一个程序拥有焦点,则它应返回零)。证据显示,函数实际是在整个系统的范围内工作的
.参数 vKey, 整数型, , 欲测试的虚拟键的键码;
.DLL命令 RegisterWindowMessage, 整数型, "user32", "RegisterWindowMessageA", , 获取分配给一个字串标识符的消息编号 &C000 到 &FFFF之间的一个消息编号。零意味着出错
.参数 lpString, 文本型, , 注册消息的名字;
.DLL命令 PostMessage, 整数型, "user32", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 hwnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
.参数 wMsg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
.DLL命令 RemoveProp, 整数型, "user32", "RemovePropA", , 删除属性列入口
.参数 hwnd, 整数型
.参数 lpString, 文本型
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...