Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows 7系統教程 >> Win7系統應用技巧 >> Vista無法正常使用輸入法,該怎麼解決

Vista無法正常使用輸入法,該怎麼解決

日期:2017/2/8 15:23:02      編輯:Win7系統應用技巧

UIPI惹的禍

如果IE加載項需要給外部進程發送Windows消息,就會被阻止。這是由於UIPI的作用,只允許高級進程給平級或者低級的進程發送消息,這有點類似以前的地下黨,只允許上級聯系下級(單線聯系)。但是這可能會對一些老的輸入法產生影響,導致無法正常工作。

解決的辦法:對輸入法進行修改,允許外部進程接受指定的Windows消息。或者使用RPC等安全機制,在IE進程和高級進程之間通信。

目前,只能手動修改系統,強行禁用UIPI,確保輸入法的兼容性。不過這會減弱系統的安全性,同時也等於閹割了IE保護模式的功能(盡管系統提示IE保護模式仍然在起作用,實際上已經被大大削弱)。

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,新建一個DWORD鍵值EnableUIPI,設置為0即可。

重啟系統,再測試幾下,應該可以解決類似紫光拼音、拼音加加的問題,而且是真正的“徹底”解決。

一山不容二虎

保護模式下的IE進程運行在“低”級別,所以無法寫入用戶配置文件的區域,這樣就可以阻止惡意網頁破壞用戶和系統數據。同時IE會自動把這種寫入操作重定向到一個特定的區域。這樣既能夠確保安全,同時又能讓IE的組件和加載項繼續正常運行。

但是如果IE加載項必須要和一個“中級”的進程一起共享數據,那麼可能就會有問題,因為這時候IE進程(加載項)所訪問的數據實際上被重定向了,而“中級”依然會去訪問原來的位置,這可能導致錯誤。

解決的辦法:修改這些加載項,讓它和外部進程一樣同時有權限訪問某個特定的區域;或者讓外部進程也運行在“低級”級別。

此外,也可以手工修改系統,把該共享區域設置為允許“低級”進程訪問。

Copyright © Windows教程網 All Rights Reserved