在某些软件中,使用获取选中的文本相关的动作,没有选中时也会复制整行内容

随便聊聊 · 588 次浏览
色気米 创建于 2023-09-18 15:30

       在某些软件中,未选中文本时复制是默认复制整行。在使用 获取选中的文本 相关的动作时,本来是想在没有选中的情况下运行动作,结果是整行复制。

       我弄了一个动作,但是只能区分选中字符数≥2个字符的,未选中或者选中1个字符均认为未选中。想请教下大佬们有没有什么办法能完美区分的。

      下图为获取选中的文本相关动作的演示,记事本中未选中,动作没触发;Flowus中未选中时,触发动作且复制整行文本。


回复内容
CL 2023-09-18 15:35
#1

为什么会 “只能区分选中字符数≥2个字符的,未选中或者选中1个字符均认为未选中” ? 可以调试运行一下看看哪里不对劲

色気米 回复 CL 2023-09-18 17:53 :

老大,我没表述清楚,获取选中的文本这个在上面演示中的flowus软件(记事本后面这个)里,在未选中的情况下依然复制了文本。然后我想排除这种情况,就弄了个动作来区分在什么情况下是未选中状态,但是我弄的这个动作还缺少对1个字符这种情况的判断,有点想完美判断这些情况

CL 回复 色気米 2023-09-18 18:11 :

对,我就是没有明白为什么你到底遇到了什么问题,为什么1个字符的时候区分不了

所以建议你通过调试运行的方式看一下

沉没的白鲸 2023-09-18 16:32
#2

我的经验是这样判断的,发送特殊标记,将两次获取的进行对比。

色気米 回复 沉没的白鲸 2023-09-18 21:47 :

大佬你好,替换文本和赋值是对哪个参数作用的,第一个如果是判断第一次选中文本的情况嘛

https://getquicker.net/Share/SubPrograms/Edit?id=13922fb7-a7e0-48a4-73d5-08dbb7994b31
我弄了一个差不多的,也是两次判断;因为光标位置可能在开头、中间或者结尾,所以一行里只有一个字的这种情况我判断不出来,就放弃了一个字的

困困君 2023-09-18 18:00
#3

notion也是这样,未选中直接默认本行,有时更是整个一大段

色気米 回复 困困君 2023-09-18 21:52 :

https://getquicker.net/Share/SubPrograms/Edit?id=13922fb7-a7e0-48a4-73d5-08dbb7994b31
你好,我弄了个子程序来判断,但是不够完美,只有选中两个及以上的字符时才被认为选中

色気米 回复 沉没的白鲸 2023-09-19 10:27 :

谢谢大佬,太感谢了

回复主贴