有办法知道是否选中文本但不把内容写入剪贴板吗?

使用问题 · 60 次浏览
星染浅夏 创建于 13小时26分钟前

只想知道是否选中,勾选了第二个,但选中成功后了剪贴板内容还是改变了。


回复内容
CL 9小时12分钟前
#1

如果剪贴板内容改变了,说明铜鼓UIAUtomation方式没有成功获取内容。这有可能是没有选择内容,也有可能是对方程序不支持。

如果程序本身支持,可以考虑用c#编写代码获取:

AutomationElement element = AutomationElement.FocusedElement;

var textPattern = element.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (textPattern != null)

{

    var ranges = textPattern.GetSelection();

    if (ranges != null && ranges.Length > 0)

    {

        bool hasText = !string.IsNullOrEmpty(ranges[0].GetText(-1));

    }

}


星染浅夏 回复 CL 8小时39分钟前 :

这段代码怎么用啊,直接扔进去会报错


星染浅夏 回复 CL 8小时37分钟前 :

应该是不支持,我在其他地方用好像可以

回复主贴