易语言输入法注入源码
系统结构:设置默认输入法,取空白文本_,特定目录,获得输入法标识,恢复输入法,顶级窗口激活输入法,句柄卸载输入法,删除注册表制定值,CloseHandle,GetClassName,GetWindowText,系统参数信息,获取特别文件夹位置_,安装输入法,从列表id取路径_,获取键盘布局_,取活动键盘布局_,输入法注入,输入法停止注入,寻找子窗口_,激活键盘布局_,投递消息,卸载指定的键盘布局,打开注册表项_,枚举注册项值_,删除指定注册表项_,
======程序集1
| |
| |------ _启动子程序
| |
| |
======核心处理程序集
| |
| |------ 设置默认输入法
| |
| |------ 取空白文本_
| |
| |------ 特定目录
| |
| |------ 获得输入法标识
| |
| |
======窗口程序集1
| |
| |------ _窗口1_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ 恢复输入法
| |
| |------ 顶级窗口激活输入法
| |
| |------ 句柄卸载输入法
| |
| |------ 删除注册表制定值
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ _取窗口进程ID
| |
| |---[dll]------ _创建快照
| |
| |---[dll]------ _第一个
| |
| |---[dll]------ _下一个
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ GetClassName
| |
| |---[dll]------ _枚举窗口
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ 系统参数信息
| |
| |---[dll]------ 获取特别文件夹位置_
| |
| |---[dll]------ 安装输入法
| |
| |---[dll]------ 从列表id取路径_
| |
| |---[dll]------ 获取键盘布局_
| |
| |---[dll]------ 取活动键盘布局_
| |
| |---[dll]------ 输入法注入
| |
| |---[dll]------ 输入法停止注入
| |
| |---[dll]------ 寻找子窗口_
| |
| |---[dll]------ 激活键盘布局_
| |
| |---[dll]------ 投递消息
| |
| |---[dll]------ 卸载指定的键盘布局
| |
| |---[dll]------ 打开注册表项_
| |
| |---[dll]------ 枚举注册项值_
| |
| |---[dll]------ 删除指定注册表项_
调用的DLL命令:
.DLL命令 _取窗口进程ID, 整数型, "user32.dll", "GetWindowThreadProcessId", , GetWindowThreadProcessId,获取与指定窗口关联在一起的一个线程和进程标识符
.参数 窗口句柄, 整数型, , hwnd,指定窗口句柄
.参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.DLL命令 _创建快照, 整数型, , "CreateToolhelp32Snapshot"
.参数 falg, 整数型
.参数 id, 整数型
.DLL命令 _第一个, 整数型, , "Process32First"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 _下一个, 整数型, , "Process32Next"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 CloseHandle, 逻辑型, , "CloseHandle"
.参数 hObject, 整数型
.DLL命令 GetClassName, 整数型, "user32.dll", "GetClassNameA", , 为指定的窗口取得类名 以字节数表示的类名长度;排除最后的空中止字符。零表示出错。会设置GetLastError
.参数 句柄, 整数型, , 欲获得类名的那个窗口的句柄
.参数 文本, 文本型, , 随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符
.参数 文本长度, 整数型, , 由lpClassName提供的缓冲区长度;
.DLL命令 _枚举窗口, 逻辑型, , "EnumWindows"
.参数 枚举过程, 子程序指针
.参数 参数, 整数型
.DLL命令 GetWindowText, 整数型, "user32.dll", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
.参数 句柄, 整数型, , 欲获取文字的那个窗口的句柄
.参数 文本, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 文本长度, 整数型, , lp缓冲区的长度;
.DLL命令 系统参数信息, 整数型, "user32.dll", "SystemParametersInfoA"
.参数 uAction, 整数型, , Long,指定要设置的参数。参考uAction常数表
.参数 uParam, 整数型, , Long,参考uAction常数表
.参数 lpvParam, 整数型, 传址, Any,按引用调用的Integer、Long和数据结构。对于String数据,请用SystemParametersInfoByval函数。具体用法参考uAction常数表
.参数 fuWinIni, 整数型
.DLL命令 获取特别文件夹位置_, 整数型, "shell32.dll", "SHGetSpecialFolderLocation"
.参数 窗口句柄, 整数型, , hwndOwner
.参数 文件夹位置, 整数型, , nFolder
.参数 结构, 项目标识符列表_, 传址, pIdl
.DLL命令 安装输入法, 整数型, "imm32.dll", "ImmInstallIMEA"
.参数 文件名, 文本型
.参数 输入法名称, 文本型
.DLL命令 从列表id取路径_, 整数型, "shell32.dll", "SHGetPathFromIDListA", , $(b)
.参数 结构指针, 整数型, , pIdl
.参数 路径, 文本型, 传址, pszPath
.DLL命令 获取键盘布局_, 整数型, "user32", "GetKeyboardLayout"
.参数 线程标志, 整数型
.DLL命令 取活动键盘布局_, 整数型, "user32", "GetKeyboardLayoutNameA"
.参数 布局名称, 文本型
.DLL命令 输入法注入, , "imedllhost09.ime", "IMESetPubString"
.参数 dll文件名, 文本型, , 要注入的dll
.参数 是否退出时卸载, 整数型, , 输入法退出时是否同时卸载注入的DLL(0-是,1-否)
.参数 是否自动切换, 整数型, , 当切换到目标输入法时自动切换到下一个输入法(0-否,1-是)
.参数 参数一, 整数型, , 0
.参数 参数二, 整数型, , 0
.参数 参数三, 整数型, , 0
.DLL命令 输入法停止注入, 整数型, "imedllhost09.ime", "IMEClearPubString"
.DLL命令 寻找子窗口_, 整数型, "user32.dll", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
.参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
.参数 欲搜索的类名1, 整数型, , 欲搜索的类名。“”表示忽略
.参数 欲搜索的类名2, 整数型, , 欲搜索的类名。“”表示忽略;
.DLL命令 激活键盘布局_, 整数型, "user32.dll", "ActivateKeyboardLayout", , 如执行成功,返回前一个键盘布局的句柄;零表示失败
.参数 键盘布局句柄, 整数型, , HKL,指定一个键盘布局的句柄
.参数 键盘位置, 整数型, , flags,将指定的键盘移至内部键盘布局列表的起始处
.DLL命令 投递消息, , "user32.dll", "PostMessageA"
.参数 句柄, 整数型
.参数 消息标识符, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 卸载指定的键盘布局, 整数型, "user32.dll", "UnloadKeyboardLayout"
.参数 输入法句柄, 整数型
.DLL命令 打开注册表项_, 整数型, "advapi32.dll", "RegOpenKeyA", , 打开一个现有的注册表项,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 标准项名或句柄, 整数型, , hKey,一个已打开项的句柄,或指定一个标准项名
.参数 项名, 文本型, , lpSubKey,要打开的项名
.参数 打开注册表项句柄, 整数型, 传址, phkResult,指定一个变量,用于装载(保存)打开注册表项的一个句柄
.DLL命令 枚举注册项值_, 整数型, "Advapi32.dll", "RegEnumValueA", , 枚举指定项的值
.参数 标准项名或句柄, 整数型, , 一个已打开项的句柄,或者指定一个标准项名
.参数 项索引, 整数型, , 欲获取值的索引。注意第一个值的索引编号为零
.参数 值名称, 字节集, , 用于装载位于指定索引处值名的一个缓冲区
.参数 值名称长度, 整数型, 传址, 用于装载lpValueName缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量
.参数 保留参数, 整数型, , 未用;设为零
.参数 类型, 整数型, 传址, 用于装载值的类型代码的变量
.参数 数据缓冲区, 字节集, , 用于装载值数据的一个缓冲区
.参数 数据缓冲区长度, 整数型, 传址, 用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量
.DLL命令 删除指定注册表项_, , "advapi32.dll", "RegDeleteValueA"
.参数 句柄, 整数型
.参数 名称, 文本型
易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...
易语言其它简易换肤13种源码,配色...
易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...
易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...
易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...
易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...
易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...
易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...
易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...