使用第三方剪切板工具在一些情况下会丢失焦点/退出编辑状态

比如:

  • 重名文件/文件夹(资源管理器、Obsidian、Vs Code等)
  • 资源管理器的地址栏(仅asrclip可保留)
  • listary输入框
  • 一些chrome扩展内的搜索框
  • 等……

windows内置的剪切板在以上情况下可以保留焦点

请问有没有在以上情况下不丢失焦点的第三方剪切板工具?

尝试过copyqdittoasrclip都无法保留

或许说是windows系统限制?有没有办法能保留住焦点呢?

因为这些软件的窗口属性,都是激活状态

谢谢回复,那一般的输入窗口的激活属性是关闭状态吗?


我的描述其实不太准确,在调用第三方剪切板的时候可能是:存储光标位置-失去输入窗口焦点-弹出剪切板-选择粘贴项-重新激活输入窗口焦点-在之前存储的光标位置插入粘贴内容

而内置的剪切板,虽然在弹出的时候ahk_class有变化或者说当前激活窗口变了,但焦点能一直保持不变

不太清楚是不是Windows限制了第三方剪切板重新激活输入窗口焦点

因为这些第三方的窗口没有设置 0x8000000选项

1 个赞

可以通过一句ahk指令来将第三方剪切板工具变成不会丢失焦点的窗口状态。
不过这样一来,是不支持键盘来操作了,只能鼠标点击。

为啥微软的剪贴板这么特殊,因为那是输入法窗口,不是普通窗口。
你可以找找看,哪个剪贴板软件也是走输入法协议的。

2 个赞

谢谢建议

ahk指令在部分情况下可以保留焦点,但在Listary搜索框就没办法了,鼠标点击其他窗口,搜索框就直接关闭

ditto的github以及论坛上也有不少这类问题,作者的回应是还无法解决

也试了下这些剪切板但都无法保留焦点:

  • Clibor

  • clcl

  • ClipX

  • Clipdiary

  • 1clipboard

  • ClipCache

  • Rainclip

  • Hot Copy Paste

  • Snatch

  • ClipCube

  • ClipMan

  • quicker 剪切板动作

根据 dog 大佬的提示,影子输入法的剪贴板历史记录是可以达成楼主的目的的(但是只记录了纯文本内容)。
但自2017年下半年以来,我找不到任何一款输入法能够满足基础的输入体验且兼容我电脑上的所有程序,所以我猜楼主未必会想换新的输入法;如果是作为第二中文输入法,又会增加操作的步骤。我用影子不久,已经遇到了输入法候选框有时会消失的问题。就姑且提出来作为一个不是办法的办法吧。

1 个赞

这是因为你点击ditto等剪贴板窗口时,ditto不知道你已经提前搞定了窗口问题,还进行了一次窗口激活操作,类似“winactivate listary”这种操作,这就导致listary直接被激活的跑了。。。

如果你是有常用快捷文本粘贴的需求,可以试试bianlitie这个软件:
动画3

动画1

1 个赞

谢谢补充


是的 ,目前就只针对特殊的情况下调用windows剪切板,换输入法实在不习惯

有一个叫ClipJump的剪贴板可以保持输入焦点切换内容,基于AHK 开源,好用,简单的剪贴板增强软件,clipjump v12.5 - 『精品软件区』 - 吾爱破解

1 个赞

确实,自带剪贴板的输入法是可以的,不过功能应该比不上专门的剪贴板软件。

我忘了提 ClipStep - 无限多个剪贴板 - 小众软件 (appinn.com) 这款剪贴板了,操作逻辑和推荐的这款是一样的,当然ditto也可以但没这两丝滑

推荐的这款配置多点而且支持图片,但这两款ahk剪贴板都无法同时展示多条剪贴项,但还是谢谢你的推荐


另外,我才发现"剪切板"的正确叫法应该是"剪贴板" :joy:

其实我想知道微软输入法自带的剪贴板有哪些点不满足你的需求。
开关机剪贴板丢失?

自带的在要求不高的情况下还挺好用的

  1. 开关机剪贴板丢失

  2. 剪贴项数量限制

  3. 无法搜索

  4. 无法拖拽图片

  5. Edge隐身模式下无效

我指的是win10的,win11有没有这些不太记得了

试了下还真是,微软保护隐私想的还挺周到

试着找了下,发现copyQ能够实现你的这些需求:
动画1

需要进行以下设置:
image
image

搭配以下的ahk代码,并且第一次运行ahk代码时,必须保证copyq的主窗口处于打开状态:

WinSet, ExStyle,+0x08000000,ahk_exe copyq.exe
winhide,ahk_exe copyq.exe
return

!v::
{
winshow,ahk_exe copyq.exe
}
return

~Lbutton::
{
MouseGetPos, , , id
WinGet, theid, ProcessName, ahk_id %id%
if theid = copyq.exe
{
click
sleep,10
sendinput,^v
winhide,ahk_exe copyq.exe
}
}
return

另外发现两个不会丢焦点的剪贴板应用:
GitHub - ffMathy/Shapeshifter: A clipboard manager for the 21st century. ,不过功能简单只能当个win10剪贴板的平替。
https://clipjump.sourceforge.net ,一个clipstep加强版,也是ahk写的。

这个代码比较粗糙,我研究研究copyq咋用,之后我再弄一个完善版本试试。

这样可行,我设置了相同的激活快捷键,区分特殊窗口激活CopyQ和一般窗口激活Ditto,就舒服多了,当然在这种情况下CopyQ的Windows剪贴板的区别就只是关机丢失和数量限制了

再次谢谢大佬的帮助