复制提示文件过大-(复制提示文件过大怎么办)

来源:191路由网 2022-12-13 19:53:44

复制提示文件过大 (复制提示文件过大怎么办)

伴随 Windows 发展已超 25 年的 Raymond Chen,刚刚在一篇《The Old New Thing》开发者博客中调侃了系统剪贴板(clipboard)存在的所谓“最大数据限制”Bug 。他以行数 30 万+的一份大型电子表格文件为例,当用户打开后选中了所有行、并将之复制到剪贴板后,就会在粘贴至另一应用程序时遇到问题。

电脑

假设这个应用程序使用了 Get-Clipboard-Data 函数,以检索富文本格式的数据。那你就会遗憾地发现 —— 函数竟然返回了空值(NULL)。

许多人或许会猜测,该问题或与剪贴板的数据上限有关。

然而 Raymond Chen 指出,事情并非如此 。

剪贴板未预设可提取数据的最大值,其内容仅受可用内存和地址空间的限制。

为避免 Get-Clipboard-Data 调用失败,主要有两种替代方案 —— 一种是将数据直接放到剪贴板,另一种就声明拥有特定类型的数据、而不直接将它放到剪贴板上。

对于很少被使用、或生成资源耗费过高的数据格式时,常见优化方案是利用剪贴板的延迟渲染(delay-rendered)。电脑

然后在被询问数据的格式时,数据源的使用者会收到一条 WM_RENDERFORMAT 消息 —— 某人想调用该数据,你是否选择即时生成?

Raymon Chen解释称:

Excel 本身无法以富文本格式运行,其放置在剪贴板上的此类数据,都是延迟渲染得来的。

然后当另一个程序要求提供富文本格式数据时,Excel 电脑 会给出这样的回应 —— 哦,好的,请稍等,我这就帮你去拿。

据悉,富文本并不是数据表的最佳格式,因为它主要是为了文本而设计的。即使可以搞定简单的表格,但更复杂的任务就跑不顺了。

当系统要求剪贴板的所有者呈现数据时,它会发送消息并等待最多 30 秒返回。

若未能在 30 秒内生成数据,则系统会放弃请求、并导致 GetClipboardData 返回 NULL 空值。

本例的问题,在于原表实在太大,导致 Excel 需要超过 30 秒才能生成富文本格式表。后续开发团队会设想通过特殊手段,来延长此类处理的等待时间。


电脑
点击展开全文

相关阅读

sony笔记本进u盘启动项-(sony笔记本进u盘启动项按哪个键)

sony笔记本进u盘启动项(sony笔记本进u盘启动项按哪个键)现在很多用户都会用U盘来重装系统,电脑用U盘装系统的方法来重装系统时需要设置u盘启动,但是由于需要进入bios设置的话,很多用户就不知道怎么操作了。索尼112t这是一款老的笔记本索尼vpcca112t参数:处理器:Intel酷睿i52450M(2.5GHz)。内存:4G(南亚易胜DDR31333M...

2022-12-13

复制提示文件过大-(复制提示文件过大怎么办)

复制提示文件过大(复制提示文件过大怎么办)伴随Windows发展已超25年的RaymondChen,刚刚在一篇《TheOldNewThing》开发者博客中调侃了系统剪贴板(clipboard)存在的所谓“最大数据限制”Bug。他以行...

2022-12-13

戴尔台式电脑如何重装系统-()

戴尔台式电脑如何重装系统()戴尔电脑重装系统,电脑小白必备的一个技能就是重装电脑系统,纯净版win10安装教程收藏下来照着做以后装系统再也不求人先准备一个八g的空u盘插到usb接口上,网页搜索一定记得找到这个带官方字样的链接,点进去后找到立即下载工具...

2022-12-13

系统在u盘多大-(系统u盘多大够用)

系统在u盘多大(系统u盘多大够用)不知不觉,距离Win10发布已经有7年的时间了,相信有不少人已经对这个系统有些审美疲劳。所以,即便6月25日微软发布的Windows11还不是正式版,但依旧有不少用户跃跃...

2022-12-13

360手机禁止更新win10-(360手机禁止更新)

360手机禁止更新win10(360手机禁止更新)现在Windows11系统是非常火热的电脑操作系统,微软公布了在电脑上安装Windows11的基本要求,在Windows11最低要求是提示,电脑必须满足TPM2.0,需要开启TPM2.0才能正常安装Wi...

2022-12-13

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除