中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]删除语言栏中的输入法命令是什么?
作者:
标题: [求助]删除语言栏中的输入法命令是什么? 上一主题 | 下一主题
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『楼 主』:  [求助]删除语言栏中的输入法命令是什么?

如何用批处理删除语言栏中的输入法?
注意!!!!是用批处理删除语言栏中的输入法!!!!
不是删除输入法的文件!!!!

附件 1: 未命名.jpg (2008-12-9 22:27, 32.29 K,下载次数: 1)


2008-12-9 22:27
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

修改注册表,,,或者用第三方工,imetool 吧




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-12-10 12:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
newxso
初级用户

l i u s s


积分 73
发帖 101
注册 2008-9-17
来自 GZ
状态 离线
『第 3 楼』:  

输入法的顺序在注册表以下位置:
[HKEY_CURRENT_USER\Keyboard Layout\Preload]

清除和重新编排语言栏中输入法(假设有7种输入法)的REG文件:
Windows Registry Editor Version 5.00

;先清空原序列,00000804代表“中文(中国)”
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000804"
"2"=-
"3"=-
"4"=-
"5"=-
"6"=-
"7"=-
"8"=-
;以下为重新排列(只取其中的4种):
;依次为:中文(中国)、极点五笔4、搜狗拼音、全拼、智能ABC
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000804"
"2"="e0210804"
"3"="e0200804"
"4"="e0010804"
"5"="e0040804"
以上的序号对应语言栏中上至下的顺序,做好以上REG文件,双击导入或用命令 regedit /s XXX.reg 自动导入即可。各种输入法对应在注册表中的代码如下:
00000804 中文(中国)
00000409 英文
e0100804 王码五笔86
e0220804 念青五笔
e0210804 极点五笔
e00e0804 微软拼音
e0010804 全拼
e0020804 双拼
e0040804 智能ABC
e0200804 搜狗拼音
e0xx0804 紫光拼音
e0050804 区位码
e00c0804 表形码
e0030804 郑码
实质上以上这些代码并没有明文规定(在Win中自带的除外,如:英文、微软拼音、全拼等等),如果想获取真正的代码,可以用 reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload">a.txt 命令获取输入法顺序列表,然后对应语言栏中上至下的顺序,就可以获取在你系统在各输入法对应在注册表中的代码(输入法ID)。

如果用楼下 yishanju 兄提供的工具,则只需用一条命令(命令必须在 imetool 同一目录下执行):
imetool /del4:e0010804
即可从语言栏中删除“全拼”输入法,而且不需重启即生效。

既然有人关注此主题,再补上本人做的一个删除语言栏上的输入法的批处理:

以序号形式删除输入法:
@echo off&setlocal enabledelayedexpansion
set key1=HKCU\Keyboard Layout\Preload
set key2=HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
:begin
cls
for /f "tokens=1-4" %%a in ('reg query "%key1%"^|findstr "REG_SZ"^|sort') do (
  for /f "tokens=1,3*" %%d in ('reg query "%key2%\%%c"^|findstr "Text"') do (
    set /a n+=1
    echo %%a %%c %%f
  )
)
echo.
set /p num=请输入你想删除的输入法前的序号:
for /l %%a in (%n% -1 1) do (
  if "%%a"=="%num%" set var=A
)
if "%var%"=="A" goto delime
cls
echo 输入错误,请按任意键重新输入一个序号!
pause>nul
goto begin

:delime
cls
echo 操作中,请稍等...
(reg export "%key1%" 恢复原来设置.reg
reg delete "%key1%" /f /v "%num%"
for /f "tokens=1,2*" %%i in ('reg query "%key1%"^|findstr "REG_SZ"') do (
   set /a m+=1
   reg add "!key1!" /f /v !m! /d "%%k"
))>nul
cls
echo 输入法删除成功!余下的输入法(注销或重启后生效):
echo.
for /f "tokens=1-4" %%a in ('reg query "%key1%"^|findstr "REG_SZ"^|sort') do (
  for /f "tokens=1,3*" %%d in ('reg query "%key2%\%%c"^|findstr "Text"') do (
    echo %%a %%c %%f
  )
)
ping 127.1 -n ^6>nul


以输入法ID形式删除输入法:
@echo off
set "b="
set "ime=e0010804"
for /f "tokens=1" %%a in ('reg query "HKCU\Keyboard Layout\Preload"^|find /i "%ime%"') do set "b=%%a"
if not "%b%"=="" (reg delete "HKCU\Keyboard Layout\Preload" /f /v "%b%" >nul
) else (
echo 没有发现ID为“%ime%”的输入法!&&ping 0 /n ^5>nul&exit)

for /f "tokens=1,2*" %%c in ('reg query "HKCU\Keyboard Layout\Preload"^|find "REG_SZ"') do (
  set /a n+=1
  call reg add "HKCU\Keyboard Layout\Preload" /f /v "%%n%%" /t REG_SZ /d "%%e" >nul
)
echo 成功删除代码为“%ime%”的输入法! 注销或重启后才生效。&&ping 0 /n ^5>nul&exit


[ Last edited by newxso on 2009-8-12 at 20:33 ]

   此帖被 +9 点积分     点击查看详情   
评分人:【 tireless 分数: +5  时间:2008-12-10 19:04
评分人:【 lxmxn 分数: +4  时间:2008-12-11 01:00


2008-12-10 14:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 4 楼』:  IMETool 2.8.0

一个最新版的IMETool 2.8.0:
http://www.mympc.org/down/1/2005-7-13_17130159234.html

   此帖被 +4 点积分     点击查看详情   
评分人:【 lxmxn 分数: +4  时间:2008-12-11 01:00


附件 1: imetool.rar (2008-12-10 14:55, 68.78 K, 下载附件所需积分 1 点 ,下载次数: 16)



有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-12-10 14:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
climbigwig
新手上路





积分 1
发帖 1
注册 2009-6-20
状态 离线
『第 5 楼』:  

谢谢,我正在找.

2009-7-10 08:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
422904z
初级用户





积分 74
发帖 37
注册 2007-6-28
状态 离线
『第 6 楼』:  

好东东

2009-8-12 11:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: