對於全球使用者而言,文字輸入是新式運算體驗的一部分,適用於部落格、批注、推文、即時消息或任何其他類型文字輸入。 在 Windows 8 中,拼字檢查是內建來編輯控件。
開發人員可以使用其應用程式中的拼字檢查 API 來取用可用的拼字檢查服務。 開發人員也可以建立成為提供者的拼字檢查工具,並整合到 Windows 拼字檢查架構中。
拼字檢查 API 是專為 Windows 元件物件模型 (COM) 應用程式的專業 C/C++ 開發人員所設計。 不支援在 Windows 或 ASP.NET 服務中使用拼字檢查 API。
版本控制
從 Windows 8 或 Windows Server 2012 開始,即可使用拼字檢查 API。 API 的未來新增作業會藉由在現有介面上建立可使用 QueryInterface 判斷的新介面來處理。
介面
所有介面都必須在不再使用時釋放。 所有傳回的(out 參數)LPWSTR 字串(以及來自 IEnumString的 LPOLESTR 專案)在不再使用時,必須使用 CoTaskMemFree 釋放。
錯誤處理
錯誤會以 HRESULT的格式傳回。 此 API 不支援 IErrorInfo 和 ISupportErrorInfo。 除了不正確的參數以外,錯誤並無特別採取動作的必要。
標準 RPC 錯誤碼可能會由任何 API 呼叫傳回,因為它們是跨程式。 標準 RPC 逾時適用。
安全
拼字檢查 API 可能會載入外部程式代碼(拼字檢查提供者)。 在獨立進程中且在受限制的安全性內容下執行此程式碼。
字典檔案
保留新增、排除和自動更正字詞清單內容之語言的使用者特定字典位於 %AppData%\Microsoft\Spelling\<語言標記>之下。 檔名為 default.dic (Added)、default.exc (Excluded) 和 default.acl (AutoCorrect)。 這些檔案是UTF-16 LE 純文字,必須以適當的位元組順序標記 (BOM) 開頭。 每一行都包含一個單字(在 [新增] 和 [排除] 字清單中),或包含由垂直線(“|”)分隔的自動更正組合詞(在自動更正字清單中)。 目錄中的其他 .dic、.exc 和 .acl 檔案將會由拼字檢查服務偵測,並新增至使用者字組清單。 這些檔案會被視為只讀,而且不會由拼字檢查 API 修改。
安裝拼字檢查提供者
安裝拼字檢查提供者時,必須將它使用的所有檔案放在允許從 SID 讀取存取的位置中(安全性識別子)「所有應用程式套件」。 將它安裝到 「程序檔」下的資料夾運作良好。 此外,提供者必須在登錄檔中設定一些機碼,才能對拼字檢查 API 可用。 它可以位於 HKEY_CURRENT_USER hive 或 HKEY_LOCAL_MACHINE hive 中,視它是否應該只針對目前使用者或所有使用者安裝而定。
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>
Default (REG_SZ) = <Name of the provider>
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>\InprocServer32
ThreadingModel (REG_SZ) = "Both"
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>\Version
Version (REG_SZ) = <Version>
Key: <Registry hive>\SOFTWARE\Microsoft\Spelling\Spellers\<Provider id string>
CLSID (REG_SZ) = <CLSID of the COM Server that implements the provider>
拼字檢查提供者範例 提供安裝提供者所需的註冊範例。
如果您要為拼字檢查提供者建立新的拼字檢查選項,請參閱 IOptionDescription::Id,以取得命名指引。
相關主題