关于拼写检查 API

对于全球用户来说,文本输入是新式计算体验的一部分,可用于博客、评论、推文、即时消息或任何其他类型文本键入。 在 Windows 8 中,拼写检查是内置的,用于编辑控件。

开发人员可以使用其应用中的拼写检查 API 来使用可用的拼写检查服务。 开发人员还可以创建成为提供程序并集成到 Windows 拼写检查框架中的拼写检查器。

拼写检查 API 专为 Windows 组件对象模型 (COM) 应用的专业 C/C++ 开发人员而设计。 不支持在 Windows 或 ASP.NET 服务中使用拼写检查 API。

版本控制

拼写检查 API 从Windows 8或Windows Server 2012开始可用。 将来对 API 的添加将通过创建新接口来处理,这些接口可在现有接口上使用 QueryInterface 确定。

接口

当不再使用所有接口时,必须释放它们。 从 IEnumString) 返回的所有 (输出参数) LPWSTR 字符串 (和 LPOLESTR 项时,必须使用 CoTaskMemFree 释放。

错误处理

错误以 HRESULT的形式返回。 此 API 不支持 IErrorInfoISupportErrorInfo。 错误不是特别可操作的,除非参数不正确。

任何 API 调用都可能返回标准 RPC 错误代码,因为它们在进行时外。 标准 RPC 超时适用。

安全性

拼写检查 API 可能会加载外部代码 (拼写检查提供程序) 。 它将在受限制的安全上下文外运行此代码。

字典文件

包含“已添加”、“已排除”和“自动更正”单词列表内容的语言的用户特定字典位于 %AppData%\Microsoft\Spelling\<language 标记>下。 文件名为 default.dic (已添加) 、default.exc (Excluded) 和 default.acl (AutoCorrect) 。 这些文件是 UTF-16 LE 纯文本,必须以相应的字节顺序标记 (BOM) 开头。 每一行都包含“添加”和“排除”单词列表中的单词 () ,或者包含一个自动更正对,这些单词由垂直条分隔 (“|”) (自动更正单词列表) 。 拼写检查服务将检测目录中存在的其他 .dic、.exc 和 .acl 文件,并将其添加到用户字词列表中。 这些文件被视为只读文件,不会由拼写检查 API 修改。

安装拼写检查提供程序

拼写检查提供程序的安装必须将它使用的所有文件放在允许从 SID (安全标识符) “所有应用程序包”进行读取访问的位置。 将其安装在“程序文件”下的文件夹中,效果很好。 此外,提供程序必须在注册表中设置一些键,使其显示在拼写检查 API 中。 它可以位于 HKEY_CURRENT_USER 配置单元中,也可以位于 HKEY_LOCAL_MACHINE 配置单元中,具体取决于它是应仅为当前用户还是应为所有用户安装。

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 以获取有关命名的指导。

拼写检查 API 参考

拼写检查客户端示例

拼写检查提供程序示例

IOptionDescription::Id

IEnumString

QueryInterface