Vista中文网's Archiver

chobit 发表于 2007-12-3 20:52

Vista操作系统中输入法的使用

Vista操作系统中输入法的使用:

  输入法是我们工作必不可少的工具,和Windows XP一样,Vista中有些时候输入法也不能很好用,的些时候我们会发现Windows Vista下无法正常使用五笔输入,紫光拼音,拼音加加等。尤其是在IE浏览器里运行的时候。

  这时候一般是由于IE保护模式的作用,由于IE保护模式依赖于UAC、UIPI和MIC的作用,所以大概可以认为是UAC、UIPI或者MIC的安全功能导致这些输入法出现问题。
[img]http://os.yesky.com/imagelist/2007/299/60ts006bn989.jpg[/img]
下面我们就来一起看看Windows Vista操作系统中输入法的一些应用技巧。

  UIPI

  如果IE加载项需要给外部进程发送Windows消息,就会被阻止。这是由于UIPI的作用,只允许高级进程给平级或者低级的进程发送消息,这有点类似以前的地下党,只允许上级联系下级(单线联系)。但是这可能会对一些老的输入法产生影响,导致无法正常工作。

  解决的办法,是对输入法进行修改,允许外部进程接受指定的Windows消息。或者使用RPC等安全机制,在IE进程和高级进程之间通信。

  目前,只能手动修改系统,强行禁用UIPI,确保输入法的兼容性。不过这会减弱系统的安全性,同时也等于阉割了IE保护模式的功能(尽管系统提示IE保护模式仍然在起作用,实际上已经被大大削弱)。

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System新建一个DWORD键值EnableUIPI,设置为0即可。

  重启系统,再测试几下,应该可以解决类似紫光拼音、拼音加加的问题,而且是真正的“彻底”解决。

  调用简体中文手写输入

  在开始菜单中可以找到Tablet PC和Media Center的身影,也就是说系统提供了手写输入的功能,但找了半天,却并没有发现手写输入面板,这样该如何来实现手写输入呢?

  如果你曾接触过Windows XP Tablet PC Edition,那么就轻松多了,只要找到\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe这个可执行文件,双击运行,屏幕边缘就会出现一个隐藏的小条,有些类似于MSN,单击按钮即可打开输入面板,最好为其在桌面上创建一个快捷方式,这样以后运行就方便多了。

  值得一提的是,这个系统的手写输入默认使用简体中文,输入界面与Windows XP Tablte PC Edition 2005差不多,但没有Windows Vista的透明效果,只有一点点阴影效果,不过手写识别率还算比较出色。如果你安装了Word 2003,那么就可以使用“墨迹注释”和“墨迹批注”两项功能了,可以支持手写墨迹方式的注释和批注。

  简单中文手写输入各个菜单项的作用如下:

  1. Sticky Notes:这是一个有便笺作用的程序,通过使用该程序,我们可以在桌面上一块黄色的区域内输入文字或者录制声音,同时这些内容会一直显示在屏幕上,提醒自己注意。该功能就好像我们平时贴在显示器上的即时贴,非常方便。

  2. Windows Journal:这是我们非常熟悉的程序了,可以当做日记本来使用,使用键盘或手写笔输入都可以,其他版本的Windows系统可以安装一个日记本查看器专门用来查看该程序创建的文件。

  3. Tablet PC Pen Training:Tablet PC笔训练,可以通过这个程序了解如何使用手写笔以及其他专用设备,通过学习这一向导程序的内容,我们就可以完全使用手写笔代替键盘、鼠标以及执行常用的快捷键。

  4. InkBall:通过这个程序可以练习手写笔的使用,就像Windows中的扫雷游戏来熟悉鼠标的使用那样。

[b][size=3]Windows Vista下使用XP全拼输入法[/size][/b]

先copy windows xp 下的 "WINPY.IME" "WINPY.MB" 到Vista 下的"windows/system32 目录下.

  将下面的注册表信息写入txt文本 并将文件改名为"*.reg"

  Windows Registry Editor Version 5.00

  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010804]

  "Layout File"="KBDUS.DLL"

  "Layout Text"="中文 (简体) - 全拼"

  "IME File"="winpy.ime"

  "Layout Display Name"="@%SystemRoot%\\system32\\input.dll,-5073"

  倒入注册表之后去"文本服务和输入语言"那里添加。

  呵……献给和我一样用全拼的人!

[b][size=3]移花接木 让Vista也用上智能ABC输入法[/size][/b]

习惯了智能ABC输入法的朋友们,难免会对英文测试版的Vista操作系统产生抱怨与不满,因为后者不提供智能ABC输入法。然而生活总要继续,上网总要继续,聊天总要继续,因此打字也要继续。不想再耗费时间去学习或适应另外一种输入法的朋友,可以按照以下介绍的方法将Windows XP中的智能ABC输入法巧妙地“移植”到Vista中:

  第一步:在Windows XP中,找到C:\WINDOWS\system32目录中的WINABC.HLP、WINABC.CNT、WINABC.CWD、winabc.ime、WINABC.OVL等文件,然后将它们复制到Vista系统的对应目录中(比如Vista安装在E盘,则为E:\Windows\System32);

  第二步:将以下内容保存为注册表文件,双击将其导入注册表中:

  Windows Registry Editor Version 5.00

  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0040804]

  "IME FILE"="WINABC.IME"

  "LAYOUT FILE"="KBDUS.DLL"

  "LAYOUT TEXT"="中文 (简体) -智能ABC"

  之后就可以在输入法状态条上右击选择“Settings”,打开“Text Services and Input Languages”窗口,点击“Add”按钮,勾选“Chinese(RPC)”中的“中文 (简体) -智能ABC”选项(图)。类似还可以自行添加全拼等中文输入法(全拼输入法文件:Winpy.ime、Winpy.mb、Winpy.hlp、Winpy.cnt)。

[img]http://os.yesky.com/imagelist/06/43/53wstm22q561s.jpg[/img]

[b][size=3]Vista无法正常用输入法的两个解决方法[/size][/b]

Windows Vista中很多朋友抱怨无法正常使用输入法,例如无法正常使用五笔输入,无法使用紫光拼音,无法使用拼音加加等。尤其是在IE浏览器里运行的时候。

  这时候一般是由于IE保护模式的作用,由于IE保护模式依赖于UAC、UIPI和MIC的作用,所以大概可以认为是UAC、UIPI或者MIC的安全功能导致这些输入法出现问题。

  1、一山不容二虎

  保护模式下的IE进程运行在“低”级别,所以无法写入用户配置文件的区域,这样就可以阻止恶意网页破坏用户和系统数据。同时IE会自动把这种写入操作重定向到一个特定的区域。这样既能够确保安全,同时又能让IE的组件和加载项继续正常运行。

  但是如果IE加载项必须要和一个“中级”的进程一起共享数据,那么可能就会有问题,因为这时候IE进程(加载项)所访问的数据实际上被重定向了,而“中级”依然会去访问原来的位置,这可能导致错误。

  解决的办法:修改这些加载项,让它和外部进程一样同时有权限访问某个特定的区域;或者让外部进程也运行在“低级”级别。

  此外,也可以手工修改系统,把该共享区域设置为允许“低级”进程访问。

  2、UIPI惹的祸

  如果IE加载项需要给外部进程发送Windows消息,就会被阻止。这是由于UIPI的作用,只允许高级进程给平级或者低级的进程发送消息,这有点类似以前的地下党,只允许上级联系下级(单线联系)。但是这可能会对一些老的输入法产生影响,导致无法正常工作。

  解决的办法:对输入法进行修改,允许外部进程接受指定的Windows消息。或者使用RPC等安全机制,在IE进程和高级进程之间通信。

  目前,只能手动修改系统,强行禁用UIPI,确保输入法的兼容性。不过这会减弱系统的安全性,同时也等于阉割了IE保护模式的功能(尽管系统提示IE保护模式仍然在起作用,实际上已经被大大削弱)。

  在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,新建一个DWORD键值EnableUIPI,设置为0即可。

  重启系统,再测试几下,应该可以解决类似紫光拼音、拼音加加的问题,而且是真正的“彻底”解决。

chobit 发表于 2007-12-3 20:52

[b]Window Vista下一波三折王码五笔之旅

[/b]Windows Vista本身是不带五笔输入法的,为Vista选择一款五笔输入法就成了当务之急。我对王码五笔情有独钟,主要是觉得王码版的五笔才是最正宗的。因此决下将王码五笔移植到Windows Vista中。

  其实,安装王码五笔在笔者安装Office 2007时已经解决了这个问题。Office 2003中整合了五笔86版和98版,可由用户选择是否安装。而Office 2007中却没有了这项,安装Office 2007后,五笔输入法随升级就一起蒸发了。

  总结了N种方法可以恢复蒸发的五笔,这些方法同样也适用于Windows Vista:

  第一种方法:重装Office 2003,选择手工安装,仅安装输入法中的五笔86。此方法最笨,但最简单。

  第二种方法:将五笔输入法的主文件和字库文件拷贝到系统目录中并相应的修改注册表,这点对于其他输入法如智能ABC同样有效,只是比较繁琐。此方法对于一般的用户来说不具操作性。

  第三种方法:从网上下载高手从Office 2003中剥离的王码五笔86自解压包。此自解包中,包含了主文件、字库文件,和一个注册表文件,双击此自解包后,主文件和字库文件被释放至系统目录,并自动向注册表中导入所需项。此方法虽简单但需用户上网自行寻找。

  无论使用了前三点中的哪一点,在Windows vista中可能都还不算完,你可能会发现在输入法中并没有五笔86,这并不代表你的操作有问题。只需按下面的操作就可以看到你熟悉的五笔86界面。

  1、右键单击输入法图标-设置

[img]http://os.yesky.com/imagelist/2007/292/tkyrm3927tu9.jpg[/img]
2、文本服务和语言输入项中如果没有五笔86项,点边上的添加,在添加输入语言中选择“王码五笔86”
[img]http://os.yesky.com/imagelist/2007/292/wirhn7i19cf8.jpg[/img]
[img]http://os.yesky.com/imagelist/2007/292/mmje5k6io9s1.jpg[/img]
3、一路确定就搞定了。

  不过,王码五笔在Windows Vista下还是有个小小的问题,在Windows Vista下的IE7中,只要输入汉字,每个汉字中间就自动多出一个空格。有两个方法能解决这个问题:

  1)、以Administrator登录或关闭UAC(用户账户控制)

  2)、选用一款其他的五笔输入法

后经权衡,觉得第一种解决方法会大大降低Widnows Vista的安全性,自然选择了后者。

[b][size=3]Vista下紫光拼音无法使用终极解决办法[/size][/b]

在实际的使用过程中,发现这个方法在大多数时候可以正常工作,但是如果在打开IE之前,已经调用过紫光拼音,则可能无法在IE浏览器里顺利启动紫光拼音。有人曾说,Windows Vista没有自带的工具,无法查看和设置文件夹的完整性级别。

  果真是这样吗?

  笔者有幸在Tech.Ed北京听了IE保护模式的负责人Robert Gu的一堂课,了解到Windows Vista其实自带了一款命令行工具Icacls.exe,可以用它来查看和设置指定文件夹的完整性级别。

  提示

  Robert Gu,微软总部的首席开发主管,目前负责IE 7安全的开发。他是EFS算法的发明者,曾主导EFS、PKI的开发,是华人中的骄傲。

  现在我们可以大胆猜测,既然有现成的Icacls.exe可供使用,则完全可以用它来把紫光拼音的工作目录“%AppData%\Unispim”的完整性级别设置为“低级”,这样无论是IE进程(低级)和外部的进程(中级),都可以访问该工作目录,紫光拼音就可以工作正常。

  说做就做,接下来就以Windows Vista RC2 Build 5744为例进行介绍(需要注意的是,该Icacls命令在RC1下无法正常工作):

  1.首先需要给当前的帐户增加“修改一个对象标签”特权,其内部名称为SeRelabelPrivilege。方法是运行secpol.msc,打开“本地安全策略”管理单元,在左侧控制台树中展开本地策略、用户权限分配,在右侧详细窗格里定位到“修改一个对象标签”策略项,双击该策略项,把当前的登录帐户添加进去,如附图所示。
[img]http://os.yesky.com/imagelist/06/51/3bgfpx4ter1d.gif[/img]
2.注销重新登录,然后以管理员权限运行命令提示符,在命令提示符下输入以下命令:

  Whoami/all |find /i "SeRelabelPrivilege"

  结果如附图所示,这表示当前登录用户已经拥有SeRelabelPrivilege特权,只是状态为禁用。

[img]http://os.yesky.com/imagelist/06/51/f9582u53677i.gif[/img]
3.然后运行以下命令:

  Icacls.exe %AppData%\Unispim /SetIntegrityLevel Level:L

  命令结果如附图所示,表示成功完成。
[img]http://os.yesky.com/imagelist/06/51/ne3g4blv37sis.gif[/img]
4.可以继续运行以下命令,查看%AppData%\Unispim目录的完整性级别:

  Icacls.exe %AppData%\Unispim

  命令结果如附图所示,表示该目录的强制完整性级别为“低”。

[img]http://os.yesky.com/imagelist/06/51/0v880dxt90y0s.gif[/img]
经过这样处理以后,就可以正常在IE浏览器里启用紫光拼音了,而无法针对特定网站禁用IE保护模式。如果偶尔发现无法在IE里启动紫光拼音,这时候不要着急,只需关闭其他启用输入法的程序,一般是Outlook、Word、Notepad等编辑程序,然后就可以在IE里正常使用紫光拼音。

  接下来,还有两个问题:

  1 细心的读者朋友发现用Whoami/all命令查看当前用户的访问令牌时,发现SeRelabelPrivilege特权是禁用的。而这个特权正是用来设置对象的完整性级别,那么这时候为什么Icacls命令可以成功运行?

  当运行Icacls命令设置目录的完整性级别时,该Icacls进程的访问令牌会自动启用SeRelabelPrivilege特权,以便命令能够顺利完成。

  2。由于Windows Vista RC1下的Icacls命令不能正常工作,这里可以下载一个第三方的命令行工具chml.exe。

ljsxhh 发表于 2007-12-4 10:07

现在好多的输入法都已经兼容Vista了,像搜狗、QQ拼音之类的,不用关闭IE的自我保护也能行了,建议大家试试

紫枫儿 发表于 2007-12-23 09:37

呵呵 我终于找到一款支持VISTA的智能ABC了

ljsxhh 发表于 2007-12-25 16:29

只有一个版本的五笔在Vista下不好用,其他的都没事,想ABC、搜狗、紫光、QQ等等,都正常

页: [1]
欢迎加入本站QQ群:53020398(已满)、35984465(可加入)

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.