易语言输入法注入主程序

输入法注入流程:

1、安装输入法
2、激活一下
3、将输入法文件复制到c:\WINDOWS\system32\
4、开始注入(IMESetPubString)
5、激活目标进程输入法
6、启动注入函数
7、卸载输入法UnloadKeyboardLayout

释放输入法

.版本 2
 
.局部变量 lret, 逻辑型
 
.判断开始 (寻找文件 (目录_取system32目录 () + “EIme.dll”, ) = “”)
    lret = 写到文件 (目录_取system32目录 () + “EIme.dll”, #输入法文件)
    系统_处理事件 ()
    程序_延时 (1000, )
    .判断开始 (lret = 真)
        系统_处理事件 ()
        注入 ()
 
    .默认
        信息框 (“写入失败,请关闭杀软。”, 0, , )
 
    .判断结束
 
 
.默认
    系统_处理事件 ()
    程序_延时 (1000, )
    注入 ()

输入法安装注入

.版本 2
 
' 安装输入法
输入法句柄 = ImmInstallIME (目录_取system32目录 () + “EIme.dll”, “Windows 标准输入法扩展程序”)
' 激活一下
SystemParametersInfo (90, 0, 输入法句柄, 2)
系统_处理事件 ()
程序_延时 (1000, )
.判断开始 (输入法句柄 ≠ 0)
    系统_处理事件 ()
    程序_延时 (1000, )
    ' 将输入法文件复制到c:\WINDOWS\system32\
    CopyFileA (编辑框1.内容, 目录_取system32目录 () + “EIme.dll”, 1)
    系统_处理事件 ()
    程序_延时 (1000, )
    ' 开始注入
 
    .判断开始 (IMESetPubString (编辑框1.内容, 0, 1, 0, 0, 0)0)
        信息框 (“注入失败”, 0, , )
    .默认
        系统_处理事件 ()
        程序_延时 (1000, )
        信息框 (“注入成功”, 0, , )
    .判断结束
 
 
 
.默认
    信息框 (“输入法安装失败”, 0, , )
    UnloadKeyboardLayout (输入法句柄)
    删除文件 (目录_取system32目录 () + “EIme.dll”)

启动注入函数

.版本 2
 
' 激活目标进程输入法
.如果 (编辑框2.内容 ≠ “”)
    .如果真 (输入法句柄 ≠ 0)
        SystemParametersInfo (90, 0, 输入法句柄, 2)
        .判断开始 (PostMessageA (到整数 (编辑框2.内容), 80, 1, 输入法句柄) ≠ 0)
            系统_处理事件 ()
            程序_延时 (1000, )
            信息框 (“启动插件成功”, 0, , )
 
        .默认
            信息框 (“启动插件失败”, 0, , )
        .判断结束
 
 
 
    .如果真结束
 
 
 
.否则
    信息框 (“请填写目标窗口句柄”, 0, , )

卸载输入法

.版本 2
 
' 卸载输入法
.如果真 (输入法句柄 ≠ 0)
    ret = UnloadKeyboardLayout (输入法句柄)
    .判断开始 (ret = 真)
        系统_处理事件 ()
        程序_延时 (1000, )
        删除文件 (目录_取system32目录 () + “EIme.dll”)
        信息框 (“卸载成功”, 0, , )
 
    .默认
        系统_处理事件 ()
        程序_延时 (1000, )
        删除文件 (目录_取system32目录 () + “EIme.dll”)
        信息框 (“卸载成功”, 0, , )
    .判断结束

教程获取下载:


发布日期:

所属分类: 易语言 标签: