我对学习Windows系统内部和工作原理非常感兴趣。我倾向于学习Windows系统编程。在这种情况下,我很好奇Windows剪贴板在内部如何运作:
- 当我们选择文本、图像等并按Ctrl + C时,会发生什么?
- 当我们在不同的应用程序中按Ctrl + V时,会发生什么?
- 复制的数据存储在哪里?复制的数据是否进入内核模式内存 - 即所有进程共享的内存中?
- 复制的数据如何变得可供另一个进程使用?
我想从系统程序员的角度了解上述问题的答案。
此外,请分享任何讨论Windows剪贴板内部的资源。
我对学习Windows系统内部和工作原理非常感兴趣。我倾向于学习Windows系统编程。在这种情况下,我很好奇Windows剪贴板在内部如何运作:
我想从系统程序员的角度了解上述问题的答案。
此外,请分享任何讨论Windows剪贴板内部的资源。
我网站上有一些很好的资源:http://www.clipboardextender.com,它讲述了剪贴板查看器的实现、典型错误、应该和不应该做的事情。
基本上,剪贴板是一个共享内存区域,你可以将数据复制到其中(例如,在用户按下Ctrl+C键时进行“复制”操作),也可以从其中复制数据(即“粘贴”)。
这些数据可以同时以几十种常见格式以及任意数量的程序员定义格式表示。但是,要完全“备份”剪贴板并像原来一样还原它是不可能的,因为这会影响其他程序,给用户带来负面体验。了解“延迟渲染”的原理,并考虑当Excel用户在电子表格中复制5000行×255列并按下Ctrl+V时会发生什么,就能理解延迟渲染的魔力(和陷阱)。