IT之家 5 月 9 日消息,据外媒 Neowin 今日报道,微软高级工程师雷蒙德・陈在微软网站的专栏《The Old New Thing》更新博文,他详细说明了 Windows 本地剪贴板与其他剪贴板管理器的不同之处,并解释了这种设计为何有益。
IT之家注:Windows 提供了默认的剪贴板,可以通过“设置”开启,也可以通过 Win + V 快捷键直接打开。
在这篇文章中,雷蒙德・陈回答了一个大家可能会有疑问的问题:“为什么剪贴板历史记录无法捕捉到剪贴板内容的快速变化?”他表示,采用异步处理的方式实际上让 Windows 的剪贴板功能在性能上更优,因为这样不会因为频繁的变化而影响系统速度。
Windows 能够实现这一点,是通过 AddClipboardFormatListener 函数和 WM_CLIPBOARDUPDATE 消息标识符。AddClipboardFormatListener 是 Winuser 头文件(.h 文件)的一部分,该文件帮助处理键盘、鼠标等各种用户输入。这些 Windows API 功能最早是在 Windows Vista 中引入的。
他写道:
剪贴板历史记录服务是异步工作的。它通过 AddClipboardFormatListener 来注册剪贴板变化,一旦接收到变化通知,系统就会更新剪贴板历史记录。由于监听器是异步接收通知的,因此在接收到 WM_CLIPBOARDUPDATE 消息时,剪贴板可能已经发生了第二次变化。
这与剪贴板查看器不同,后者会在每次剪贴板变化时同步通知。同步通知的缺点是,可能会错过剪贴板的某些变化,而异步方式的好处则在于,剪贴板的更新不会拖慢或卡顿系统。
0 条