找回密码
 加入
搜索
查看: 3326|回复: 7

如何删除一个输入法?

[复制链接]
发表于 2008-5-16 12:38:14 | 显示全部楼层 |阅读模式
这个是以前老论坛时,求得的源码,是安装输入法的.俺记得是居士给的,甚是好用.感谢三恨

If Not FileExists(@SystemDir & "\winpy.ime") Then FileInstall("winpy.ime", @SystemDir & "\winpy.ime", 1)
If Not FileExists(@SystemDir & "\winpy.mb") Then FileInstall("winpy.mb", @SystemDir & "\winpy.mb", 1)
$ime = @SystemDir & "\winpy.ime"
DllCall("imm32.dll", "ptr", "ImmInstallIME", "str", $ime, "str", "全拼输入法")


这个输入法安装好了,我想删除这个输入法,该怎么弄?请大大们支招.

(纯粹学习autoit,并不是俺没事找事,表要骂俺!!谢谢)

[ 本帖最后由 木纳 于 2008-5-16 22:09 编辑 ]
发表于 2008-5-16 14:46:46 | 显示全部楼层
API只提供了安装输入法的函数,没看到删除的函数。

如果用了ImmInstallIME来安装输入法的,每台机是不同的了。所以说要循环读注册表,检测来删了。删了注册表,再删安装的文件即可。
 楼主| 发表于 2008-5-16 15:53:23 | 显示全部楼层
大大,我是这样做的,以搜狗拼音输入法为例,

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0200804]
"Ime File"="SOGOUPY.IME"
"Layout Text"="中文 (简体) - 搜狗拼音输入法"
"Layout File"="kbdus.dll"
把这个\E0200804]给删除了,然后system32下的SOGOUPY.IME也删除了,
DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult")
了一下,但那个该死的输入法还在...
 楼主| 发表于 2008-5-16 16:03:37 | 显示全部楼层
同样,我把那个全拼,装一下

再按上面的步骤,输入法还是在任务栏里,
发表于 2008-5-16 18:08:45 | 显示全部楼层
键盘布局刷新注册表是没用的。通过API来操作一下就行了。


;
;
Global  Const  $KeyboardLayouts="E0040804"
;"E0040804"是输入法代号,不同的输入法是不同的。自己改下。
DllCall("user32.dll","int","UnloadKeyboardLayout","long",$KeyboardLayouts)
;
;

评分

参与人数 1金钱 +5 收起 理由
木纳 + 5

查看全部评分

 楼主| 发表于 2008-5-16 21:57:44 | 显示全部楼层
居士一出手,就知道有没有.
牛...俺服了..
虽说看起来蛮简单的一个添加和删除操作.....

唉,对俺个菜菜来说,实在是要学的东西多..
谢谢
发表于 2009-10-9 18:20:05 | 显示全部楼层
很好,不久之后要用.踩个脚印
发表于 2009-11-3 23:02:24 | 显示全部楼层
做个记号,有空试试看
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-26 22:31 , Processed in 0.081859 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表