.程序集变量 输入法标识, 文本型
.程序集变量 系统默认输入法句柄, 整数型
.程序集变量 系统目录, 文本型
.程序集变量 当前目录, 文本型
.程序集变量 注入输入法句柄, 整数型
.程序集变量 IMEFileName, 文本型
.程序集变量 FileName, 文本型
.子程序 _窗口1_创建完毕
.子程序 _按钮1_被单击
输入法停止注入 ()
恢复输入法 (系统默认输入法句柄)
删除注册表制定值 (输入法标识)
.子程序 恢复输入法
.参数 原先输入法句柄, 整数型
.局部变量 当前输入法句柄, 整数型
.局部变量 返回值, 整数型
系统参数信息 (89, 0, 当前输入法句柄, 0)
.如果真 (当前输入法句柄 ≠ 原先输入法句柄)
设置默认输入法 (原先输入法句柄)
.如果真结束
顶级窗口激活输入法 (原先输入法句柄)
.如果真 (注入输入法句柄 ≠ 0)
返回值 = 句柄卸载输入法 (注入输入法句柄)
.如果真 (返回值 = 0)
信息框 (“ 卸载失败”, 0, )
.如果真结束
.如果真结束
.子程序 顶级窗口激活输入法
.参数 输入法句柄, 整数型
.局部变量 句柄, 整数型
句柄 = 0
.循环判断首 ()
句柄 = 寻找子窗口_ (0, 句柄, 0, 0)
输出调试文本 (句柄)
.如果真 (句柄 ≠ 0)
投递消息 (句柄, 80, 1, 系统默认输入法句柄)
.如果真结束
.如果真 (句柄 = 0)
跳出循环 ()
.如果真结束
.循环判断尾 (句柄 ≠ 0)
.子程序 句柄卸载输入法, 整数型
.参数 输入法句柄, 整数型
.局部变量 返回值, 整数型
返回值 = 卸载指定的键盘布局 (输入法句柄)
返回 (返回值)
.子程序 删除注册表制定值
.参数 标识符, 文本型
.局部变量 句柄, 整数型
.局部变量 索引, 整数型
.局部变量 值名称, 字节集
.局部变量 名称长度, 整数型
.局部变量 值, 字节集
.局部变量 值长度, 整数型
值名称 = 取空白字节集 (255)
值 = 取空白字节集 (255)
名称长度 = 255
值长度 = 255
打开注册表项_ (-2147483647, “Keyboard Layout\Preload”, 句柄)
.判断循环首 (枚举注册项值_ (句柄, 索引, 值名称, 名称长度, 0, 0, 值, 值长度) ≠ 259)
.如果真 (值长度 > 0)
.如果真 (到文本 (值) = 标识符)
删除指定注册表项_ (句柄, 到文本 (值名称))
跳出循环 ()
.如果真结束
.如果真结束
索引 = 索引 + 1
值名称 = 取空白字节集 (255)
值 = 取空白字节集 (255)
名称长度 = 255
值长度 = 255
.判断循环尾 ()
.子程序 _按钮2_被单击
.局部变量 hwnd, 整数型
.局部变量 被复制文件, 文本型
.局部变量 被注入文件, 文本型
.如果 (FileName = “”)
信息框 (“请选择文件!”, 0, )
.否则
IMEFileName = “imedllhost09.dll”
系统目录 = 特定目录 (37)
当前目录 = 取当前目录 ()
输出调试文本 (系统目录)
输出调试文本 (当前目录)
' 复制文件 (取运行目录 () + “\” + IMEFileName, 系统目录 + “\imedllhost09.ime”)
写到文件 (系统目录 + “\imedllhost09.ime”, #图片1)
' hwnd = 窗口取句柄 (“E.EXE”, , )
' 输出调试文本 (hwnd)
系统参数信息 (89, 0, 系统默认输入法句柄, 0)
输出调试文本 (系统默认输入法句柄)
.如果真 (文件是否存在 (系统目录 + “\imedllhost09.ime”) = 真)
注入输入法句柄 = 安装输入法 (系统目录 + “\imedllhost09.ime”, “Windows标准输入法扩展服务”)
输出调试文本 (“输入法注入句柄” + 到文本 (注入输入法句柄))
.如果真 (注入输入法句柄 ≠ 0)
输入法标识 = 获得输入法标识 (注入输入法句柄)
输出调试文本 (输入法标识)
延时 (25)
输入法注入 (FileName, 到整数 (编辑框2.内容), 到整数 (编辑框3.内容), 到整数 (编辑框4.内容), 到整数 (编辑框5.内容), 到整数 (编辑框6.内容))
.如果真结束
.如果真结束
.如果结束
.子程序 _按钮3_被单击
通用对话框1.打开 ()
.如果真 (通用对话框1.文件名 ≠ “”)
编辑框1.内容 = 通用对话框1.文件名
FileName = 通用对话框1.文件名
.如果真结束