木纳 发表于 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 编辑 ]

sanhen 发表于 2008-5-16 14:46:46

API只提供了安装输入法的函数,没看到删除的函数。

如果用了ImmInstallIME来安装输入法的,每台机是不同的了。所以说要循环读注册表,检测来删了。删了注册表,再删安装的文件即可。

木纳 发表于 2008-5-16 15:53:23

大大,我是这样做的,以搜狗拼音输入法为例,


"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

同样,我把那个全拼,装一下

再按上面的步骤,输入法还是在任务栏里,

sanhen 发表于 2008-5-16 18:08:45

键盘布局刷新注册表是没用的。通过API来操作一下就行了。


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

木纳 发表于 2008-5-16 21:57:44

居士一出手,就知道有没有.
牛...俺服了..
虽说看起来蛮简单的一个添加和删除操作.....

唉,对俺个菜菜来说,实在是要学的东西多..
谢谢

五猫橙 发表于 2009-10-9 18:20:05

很好,不久之后要用.踩个脚印

auto 发表于 2009-11-3 23:02:24

做个记号,有空试试看
页: [1]
查看完整版本: 如何删除一个输入法?