我正在使用 Cocoa Accessibility API 尝试修改另一个应用程序中的文本字段 (AXTextField) 的值,但我遇到了一个问题:我的代码正确识别和修改了相关文本字段的内容,并且该字段的文本明显更改,但我尝试控制的程序未注册更改。有没有办法在 API 中做到这一点而不必生成键盘事件?
示例代码:
AXUIElementCopyElementAtPosition(appRef,
clickPoint.x,
clickPoint.y,
&boxRef);
NSString *valueToSet = [NSString stringWithFormat:@"%f",amount];
AXUIElementSetAttributeValue(boxRef,kAXValueAttribute,valueToSet);
并且文本字段更改为“金额”中指定的值,但其他程序无法识别更改 - 我必须自己输入数字才能获取更改(我可以分辨出差异,因为当在框中输入新值时程序会响应)。谁能指出我正确的方向?