提供计算机应用程序多次复用粘贴的系统及其方法技术方案

技术编号:6007448 阅读:282 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种提供计算机应用程序多次复用粘贴的系统,包括对数据进行复制操作将数据复制到内存中的数据复制模块和将内存中指定数据粘贴到应用程序指定位置的数据粘贴模块,其特征在于所述系统还包括将复制到内存中的数据进行提取,并将数据存储到外部存储设备的数据提取模块、对外部存储数据进行分类、管理的数据处理模块和根据数据粘贴模块的请求将存储到外部存储设备的数据导入到内存中的数据导入模块;所述数据导入模块将数据导入到内存后,数据粘贴模块将指定数据粘贴到指定位置。该系统可保证windows剪贴板复制可多次复用、保证数据不丢失、不影响系统运行速度。

【技术实现步骤摘要】

本专利技术属于操作系统优化
,具体涉及一种多次可复用、不丢失数据、不影 响系统运行速度的windows剪贴板的实现方法。
技术介绍
剪贴板是内存中的一块区域,是windows内置的一个非常有用的工具,使得在各 种应用程序之间传递和共享信息成为可能。使用它,只要简单的按几个键操作就可以从一 个文件拷贝到另一个文件中。Windows剪贴板是windows系统下一个拷贝和粘贴功能,其 他操作系统如Iinux也有类型的功能。在windows系统中,剪贴板内置在windows中,并且 使用系统的内部资源RAM,或虚拟内存来临时保存剪切和复制的信息,可以存放的信息种类 是多种多样的。剪切或复制时保存在剪贴板上的信息,只有再剪贴或复制另外的信息,或停 电、或退出windows,或有意地清除时,才可能更新或清除其内容,即剪贴或复制一次,就可 以粘贴多次。Windows应用程序中的剪切、复制、粘贴命令是剪贴板应用的典型操作,它的流程 就是当用剪切或复制命令对数据进行操作后,这些数据就被蚕食存放在剪贴板中,使用粘 贴命令就会把这些数据从剪贴板中拷贝到目标应用程序中。然而美中不足的是,传统的 windows剪贴板具有三个明显的缺陷首先,Windows剪贴板从“出生”至今,都只支持一次复制,下一次复制时将会覆盖前一 次复制到剪贴板中的内容,使得用户的多次复制成为妄想。例如当用户想复制某一段文本 中的第η行和第η+2行时就必须经过两次复制粘贴操作才能达到预期的效果。其次,由于剪贴板是存在于系统内存中的,所以一旦关闭、重启、断电之后,剪贴板 中的数据就会随之消失,这样一来,剪贴板中的数据就有了“不稳定”这一特征,随时会发生 “意外”,使剪贴板中的数据流失。最后,由于剪贴板是存在于系统内存中的,所以如果一次复制了一个大容量的数 据后,将会造成系统内存开销过大,影响整个系统的运行速度,得不偿失,这时候用户必须 得另谋他法(如再复制一个短小的数据覆盖剪贴板中庞大的数据或者将剪贴板中的数据清 除或粘贴出来)才能解决系统运行速度缓慢的问题,而事实上并非所有的用户都懂得“另谋 他法”,这就使得剪贴板成为了不为人知的系统运行缓慢的一大“杀手”。虽然现在流传的几款剪切板增强工具也能做到多次复制,但其工作原理大多是在 原有剪贴板的基础上作的改进,使其再次复制的时候不再覆盖剪贴板中的原有内容,仍然 是在内存中开辟一块区域,虽然能解决第一个问题,但后面的两个问题仍然不能解决。
技术实现思路
本专利技术目的在于提供一种提供计算机应用程序多次复用粘贴的系统,解决了现有 技术中复制粘贴操作不能多次复制或复制粘贴内容过大导致系统运行速度缓慢等问题。为了解决现有技术中的这些问题,本专利技术提供的技术方案是一种提供计算机应用程序多次复用粘贴的系统,包括对数据进行复制操作将数据复制 到内存中的数据复制模块和将内存中指定数据粘贴到应用程序指定位置的数据粘贴模块, 其特征在于所述系统还包括将复制到内存中的数据进行提取,并将数据存储到外部存储设 备的数据提取模块、对外部存储数据进行分类、管理的数据处理模块和根据数据粘贴模块 的请求将存储到外部存储设备的数据导入到内存中的数据导入模块;所述数据导入模块将 数据导入到内存后,数据粘贴模块将指定数据粘贴到指定位置。优选的,所述数据提取模块通过调用GetCl ipboardData接口提取内存中数据,将 数据存储入外部存储设备中;然后通过调用EmptyClipboard接口清空数据所在内存。优选的,所述数据提取模块监听用户复制操作;数据提取模块监听到用户通过数 据复制模块进行数据复制时,启动数据提取模块进行数据提取操作。优选的,所述数据处理模块包括排序模块、添加模块、更新模块和删除模块,所述 排序模块用于对外部存储设备中存储的数据按照指定规则进行排序操作;所述更新模块用 于对外部存储设备中存储的数据进行实时更新操作;所述添加模块用于对外部存储设备 中存储的数据进行添加操作;所述删除模块用于对外部存储设备中存储的数据进行删除操 作。优选的,所述系统还包括数据分类模块,所述数据分类模块通过调用 GetClipboardFormatName接口获取数据的类型根据数据类型对数据提取模块提取的数据 进行分类后存储入外部存储设备中。优选的,所述数据导入模块监听用户粘贴操作;数据提取模块监听到用户通过数 据粘贴模块进行数据粘贴操作时,数据导入模块通过调用SetClipboardData接口将指定 数据导入内存供数据粘贴模块进行粘贴操作。优选的,所述数据导入模块还包括数据预览模块;数据提取模块监听到用户通过 数据粘贴模块进行数据粘贴操作时,数据导入模块将外部存储设备中所有复制数据导入到 内存中并显示给用户,供用户选择粘贴的指定数据。优选的,所述数据粘贴模块监听用户选择粘贴指定数据的确认指令;用户确认选 择粘贴指定数据时,数据粘贴模块调用粘贴指令在应用程序指定位置进行粘贴操作。本专利技术还提供了一种提供计算机应用程序多次复用粘贴的方法,其特征在于所述 方法包括以下步骤(1)提取用户复制到内存中的数据,存储到外部存储设备中,并清空数据所在内存;(2)粘贴时将外部存储设备中的数据导入到内存中,通过调用粘贴指令进行粘贴指定 数据。优选的,所述方法还包括对步骤(1)存储到外部存储设备中的数据进行删除、添 加、更新和排序操作。本专利技术的提供计算机应用程序多次复用粘贴的系统可以应用于windows系统或 其他操作系统中,当应用于windows系统时,与windows的剪贴板功能结合,将每次复制到 剪贴板中的内容保存在外部存储设备中,从而做到可多次复制、不丢失数据以及不影响系 统运行速度的目的。同时,对于保存在外部存储设备中的“剪贴板中的数据”,可以通过第三 方工具进行管理,例如排序、格式转换、大小写变换等等工作,使得剪贴板的使用更加得心 应手,更加方便。本专利技术的系统主要包括以下模块数据提取模块、数据分类模块、数据处理模 块;数据导入模块、数据粘贴模块。当用户进行一次复制操作后,数据被保存到剪贴板 上,此时,由数据提取模块将剪贴板中的数据提取出来(对应剪贴板提供的编程API为 GetClipboardData接口),保存到外部存储设备中,接着清空剪贴板(对应剪贴板提供的编 程API为EmptyClipboard接口)。这样一来,就解决了数据丢失问题和影响系统运行速度的 问题由于数据时保存在外部存储设备上的,而剪贴板所属的内存块已被清空,即使关机、 重启甚至突然断电都不会影响到已经复制的数据。当用户进行第二次复制的时候,同样的 通过数据提取模块提取剪贴板中的数据提取出来并保存到外部存储设备上,这样一来,便 解决了不能多次复制的问题,虽然剪贴板中仍然只能保存一次复制的内容,但事实上多次 复制的内容已经被保存到外部存储设备中。剪贴板中的数据被提取出来后,可通过数据分类模块对其进行分类(当然,这 个可以由用户来选择,如果是及时复制及时粘贴的用户,进行数据分类反而显得有点多 余)。由于剪贴板中可以同时存放多种格式的数据,各自放在全局内存的不同位置,而对 于每种剪贴板中存放过的格式,windows都会给它分配一个独特的长整形编号,通过这个 编号可以知道对应的数据格式的名称本文档来自技高网
...

【技术保护点】
1. 一种提供计算机应用程序多次复用粘贴的系统,包括对数据进行复制操作将数据复制到内存中的数据复制模块和将内存中指定数据粘贴到应用程序指定位置的数据粘贴模块,其特征在于所述系统还包括将复制到内存中的数据进行提取,并将数据存储到外部存储设备的数据提取模块、对外部存储数据进行分类、管理的数据处理模块和根据数据粘贴模块的请求将存储到外部存储设备的数据导入到内存中的数据导入模块;所述数据导入模块将数据导入到内存后,数据粘贴模块将指定数据粘贴到指定位置。

【技术特征摘要】

【专利技术属性】
技术研发人员:章登义王兵戴欢宋佳
申请(专利权)人:博视联苏州信息科技有限公司武汉大学苏州研究院
类型:发明
国别省市:32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1