我有一个用C#编写的UI自动化应用程序并使用.NET(目前是3.5但如果4解决了这个问题,我会很乐意改变) . 我正在运行英文版的Windows 7.我希望能够在任何给定的UI上运行此应用程序,并使其行为如下,无论给定的UI如何设置或当前的系统语言是什么,就像那些东西通常超出我的控制范围:
我想强制使用UI Automation的应用程序使用土耳其语规则进行大写 . 特别是,如果自动化应用程序在包含字符“i”的UI上运行,我希望UI自动化部分自动将字符串/字符转换为大写,以将该字符转换为“İ”而不是“I” .
这尤其是访问和加速键的问题 . 例如,如果UI中的按钮具有'i'作为其访问键,则该按钮的UI自动化应用程序中的 AutomationElement
将其访问密钥列为'I',这在土耳其语中是不正确的 .
我尝试将Thread文化和Thread ui文化设置为土耳其语,但这不起作用 . 我不确定如何强制 AutomationElement
类来执行此操作 . 任何建议/帮助/示例将不胜感激 .
如果不清楚请告诉我,我会尝试更好地解释它 .
1 回答
如果你想正确地大写字符串,就像那样容易:
不幸的是,你必须为每个字符串执行此操作 . 不幸的是,我不太清楚你的用例是什么,所以我的答案可能不是很有用......