我试图在SO处遵循建议,使用UIAutomation代替SendKeys等,并获取显示停止错误"访问OLE注册表错误"但是我试着去做。
我在Win7Pro 64位(VMWare)VM中运行XE4。
遵循此处和其他地方的建议,遇到此错误消息:
我使用内置管理员帐户(代替我第一次遇到错误的管理员帐户)。
我在UIAutomationCore.Dll上运行RegSvr32并报告"呼叫RegisterServer成功"。
我将用户帐户控制设置为"从不通知"
我使用"以管理员身份运行"
在XE4中,我转到Component |导入组件|导入ActiveX控件,单击添加并浏览到\ Windows \ System32 \ UIAutomationCore.Dll(或SysWOW64中的版本,我想一个子问题是我应该尝试哪一个,但我得到了相同的错误)。然后我单击打开,我得到一个错误弹出窗口"错误访问OLE注册表"信息。单击“详细信息”按钮显示TLib180.Bpl中发生错误,即对TLibUtils.LoadAndRegisterTypeLibrary的调用。
我不确定我是否错过了一步或做错了什么......
答案 0 :(得分:2)
创建一个这样的类型库:
现在,您将拥有一个名为UIAutomationClient_TLB
的类型库派生单元,您可以像使用任何其他单元一样使用它。您可以通过以下方式访问IUIAutomation
界面:
Automation := CoCUIAutomation.Create;
此时你已经开始运作了。
您不需要注册任何内容。这是已注册的系统组件。您真的不需要更改UAC设置或升级。