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

使用问题 · 3345 次浏览
星染浅夏 创建于 23天16小时前

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


回复内容
CL 23天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 23天11小时前 :

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


星染浅夏 回复 CL 23天11小时前 :

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

CL 回复 星染浅夏 22天5小时前 :

这里需要增加using语句引入类型,可以试试让ai完善一下,或者根据具体报错添加

回复主贴