亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng)及其方法

文檔序號(hào):6353208閱讀:419來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng)及其方法
技術(shù)領(lǐng)域
本發(fā)明屬于操作系統(tǒng)優(yōu)化技術(shù)領(lǐng)域,具體涉及一種多次可復(fù)用、不丟失數(shù)據(jù)、不影 響系統(tǒng)運(yùn)行速度的windows剪貼板的實(shí)現(xiàn)方法。
背景技術(shù)
剪貼板是內(nèi)存中的一塊區(qū)域,是windows內(nèi)置的一個(gè)非常有用的工具,使得在各 種應(yīng)用程序之間傳遞和共享信息成為可能。使用它,只要簡(jiǎn)單的按幾個(gè)鍵操作就可以從一 個(gè)文件拷貝到另一個(gè)文件中。Windows剪貼板是windows系統(tǒng)下一個(gè)拷貝和粘貼功能,其 他操作系統(tǒng)如Iinux也有類(lèi)型的功能。在windows系統(tǒng)中,剪貼板內(nèi)置在windows中,并且 使用系統(tǒng)的內(nèi)部資源RAM,或虛擬內(nèi)存來(lái)臨時(shí)保存剪切和復(fù)制的信息,可以存放的信息種類(lèi) 是多種多樣的。剪切或復(fù)制時(shí)保存在剪貼板上的信息,只有再剪貼或復(fù)制另外的信息,或停 電、或退出windows,或有意地清除時(shí),才可能更新或清除其內(nèi)容,即剪貼或復(fù)制一次,就可 以粘貼多次。Windows應(yīng)用程序中的剪切、復(fù)制、粘貼命令是剪貼板應(yīng)用的典型操作,它的流程 就是當(dāng)用剪切或復(fù)制命令對(duì)數(shù)據(jù)進(jìn)行操作后,這些數(shù)據(jù)就被蠶食存放在剪貼板中,使用粘 貼命令就會(huì)把這些數(shù)據(jù)從剪貼板中拷貝到目標(biāo)應(yīng)用程序中。然而美中不足的是,傳統(tǒng)的 windows剪貼板具有三個(gè)明顯的缺陷
首先,Windows剪貼板從“出生”至今,都只支持一次復(fù)制,下一次復(fù)制時(shí)將會(huì)覆蓋前一 次復(fù)制到剪貼板中的內(nèi)容,使得用戶(hù)的多次復(fù)制成為妄想。例如當(dāng)用戶(hù)想復(fù)制某一段文本 中的第η行和第η+2行時(shí)就必須經(jīng)過(guò)兩次復(fù)制粘貼操作才能達(dá)到預(yù)期的效果。其次,由于剪貼板是存在于系統(tǒng)內(nèi)存中的,所以一旦關(guān)閉、重啟、斷電之后,剪貼板 中的數(shù)據(jù)就會(huì)隨之消失,這樣一來(lái),剪貼板中的數(shù)據(jù)就有了“不穩(wěn)定”這一特征,隨時(shí)會(huì)發(fā)生 “意外”,使剪貼板中的數(shù)據(jù)流失。最后,由于剪貼板是存在于系統(tǒng)內(nèi)存中的,所以如果一次復(fù)制了一個(gè)大容量的數(shù) 據(jù)后,將會(huì)造成系統(tǒng)內(nèi)存開(kāi)銷(xiāo)過(guò)大,影響整個(gè)系統(tǒng)的運(yùn)行速度,得不償失,這時(shí)候用戶(hù)必須 得另謀他法(如再?gòu)?fù)制一個(gè)短小的數(shù)據(jù)覆蓋剪貼板中龐大的數(shù)據(jù)或者將剪貼板中的數(shù)據(jù)清 除或粘貼出來(lái))才能解決系統(tǒng)運(yùn)行速度緩慢的問(wèn)題,而事實(shí)上并非所有的用戶(hù)都懂得“另謀 他法”,這就使得剪貼板成為了不為人知的系統(tǒng)運(yùn)行緩慢的一大“殺手”。雖然現(xiàn)在流傳的幾款剪切板增強(qiáng)工具也能做到多次復(fù)制,但其工作原理大多是在 原有剪貼板的基礎(chǔ)上作的改進(jìn),使其再次復(fù)制的時(shí)候不再覆蓋剪貼板中的原有內(nèi)容,仍然 是在內(nèi)存中開(kāi)辟一塊區(qū)域,雖然能解決第一個(gè)問(wèn)題,但后面的兩個(gè)問(wèn)題仍然不能解決。

發(fā)明內(nèi)容
本發(fā)明目的在于提供一種提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),解決了現(xiàn)有 技術(shù)中復(fù)制粘貼操作不能多次復(fù)制或復(fù)制粘貼內(nèi)容過(guò)大導(dǎo)致系統(tǒng)運(yùn)行速度緩慢等問(wèn)題。為了解決現(xiàn)有技術(shù)中的這些問(wèn)題,本發(fā)明提供的技術(shù)方案是一種提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),包括對(duì)數(shù)據(jù)進(jìn)行復(fù)制操作將數(shù)據(jù)復(fù)制 到內(nèi)存中的數(shù)據(jù)復(fù)制模塊和將內(nèi)存中指定數(shù)據(jù)粘貼到應(yīng)用程序指定位置的數(shù)據(jù)粘貼模塊, 其特征在于所述系統(tǒng)還包括將復(fù)制到內(nèi)存中的數(shù)據(jù)進(jìn)行提取,并將數(shù)據(jù)存儲(chǔ)到外部存儲(chǔ)設(shè) 備的數(shù)據(jù)提取模塊、對(duì)外部存儲(chǔ)數(shù)據(jù)進(jìn)行分類(lèi)、管理的數(shù)據(jù)處理模塊和根據(jù)數(shù)據(jù)粘貼模塊 的請(qǐng)求將存儲(chǔ)到外部存儲(chǔ)設(shè)備的數(shù)據(jù)導(dǎo)入到內(nèi)存中的數(shù)據(jù)導(dǎo)入模塊;所述數(shù)據(jù)導(dǎo)入模塊將 數(shù)據(jù)導(dǎo)入到內(nèi)存后,數(shù)據(jù)粘貼模塊將指定數(shù)據(jù)粘貼到指定位置。優(yōu)選的,所述數(shù)據(jù)提取模塊通過(guò)調(diào)用GetCl ipboardData接口提取內(nèi)存中數(shù)據(jù),將 數(shù)據(jù)存儲(chǔ)入外部存儲(chǔ)設(shè)備中;然后通過(guò)調(diào)用EmptyClipboard接口清空數(shù)據(jù)所在內(nèi)存。優(yōu)選的,所述數(shù)據(jù)提取模塊監(jiān)聽(tīng)用戶(hù)復(fù)制操作;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù) 據(jù)復(fù)制模塊進(jìn)行數(shù)據(jù)復(fù)制時(shí),啟動(dòng)數(shù)據(jù)提取模塊進(jìn)行數(shù)據(jù)提取操作。優(yōu)選的,所述數(shù)據(jù)處理模塊包括排序模塊、添加模塊、更新模塊和刪除模塊,所述 排序模塊用于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)按照指定規(guī)則進(jìn)行排序操作;所述更新模塊用 于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行實(shí)時(shí)更新操作;所述添加模塊用于對(duì)外部存儲(chǔ)設(shè)備 中存儲(chǔ)的數(shù)據(jù)進(jìn)行添加操作;所述刪除模塊用于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行刪除操 作。優(yōu)選的,所述系統(tǒng)還包括數(shù)據(jù)分類(lèi)模塊,所述數(shù)據(jù)分類(lèi)模塊通過(guò)調(diào)用 GetClipboardFormatName接口獲取數(shù)據(jù)的類(lèi)型根據(jù)數(shù)據(jù)類(lèi)型對(duì)數(shù)據(jù)提取模塊提取的數(shù)據(jù) 進(jìn)行分類(lèi)后存儲(chǔ)入外部存儲(chǔ)設(shè)備中。優(yōu)選的,所述數(shù)據(jù)導(dǎo)入模塊監(jiān)聽(tīng)用戶(hù)粘貼操作;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù) 據(jù)粘貼模塊進(jìn)行數(shù)據(jù)粘貼操作時(shí),數(shù)據(jù)導(dǎo)入模塊通過(guò)調(diào)用SetClipboardData接口將指定 數(shù)據(jù)導(dǎo)入內(nèi)存供數(shù)據(jù)粘貼模塊進(jìn)行粘貼操作。優(yōu)選的,所述數(shù)據(jù)導(dǎo)入模塊還包括數(shù)據(jù)預(yù)覽模塊;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò) 數(shù)據(jù)粘貼模塊進(jìn)行數(shù)據(jù)粘貼操作時(shí),數(shù)據(jù)導(dǎo)入模塊將外部存儲(chǔ)設(shè)備中所有復(fù)制數(shù)據(jù)導(dǎo)入到 內(nèi)存中并顯示給用戶(hù),供用戶(hù)選擇粘貼的指定數(shù)據(jù)。優(yōu)選的,所述數(shù)據(jù)粘貼模塊監(jiān)聽(tīng)用戶(hù)選擇粘貼指定數(shù)據(jù)的確認(rèn)指令;用戶(hù)確認(rèn)選 擇粘貼指定數(shù)據(jù)時(shí),數(shù)據(jù)粘貼模塊調(diào)用粘貼指令在應(yīng)用程序指定位置進(jìn)行粘貼操作。本發(fā)明還提供了一種提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的方法,其特征在于所述 方法包括以下步驟
(1)提取用戶(hù)復(fù)制到內(nèi)存中的數(shù)據(jù),存儲(chǔ)到外部存儲(chǔ)設(shè)備中,并清空數(shù)據(jù)所在內(nèi)存;
(2)粘貼時(shí)將外部存儲(chǔ)設(shè)備中的數(shù)據(jù)導(dǎo)入到內(nèi)存中,通過(guò)調(diào)用粘貼指令進(jìn)行粘貼指定 數(shù)據(jù)。優(yōu)選的,所述方法還包括對(duì)步驟(1)存儲(chǔ)到外部存儲(chǔ)設(shè)備中的數(shù)據(jù)進(jìn)行刪除、添 加、更新和排序操作。本發(fā)明的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng)可以應(yīng)用于windows系統(tǒng)或 其他操作系統(tǒng)中,當(dāng)應(yīng)用于windows系統(tǒng)時(shí),與windows的剪貼板功能結(jié)合,將每次復(fù)制到 剪貼板中的內(nèi)容保存在外部存儲(chǔ)設(shè)備中,從而做到可多次復(fù)制、不丟失數(shù)據(jù)以及不影響系 統(tǒng)運(yùn)行速度的目的。同時(shí),對(duì)于保存在外部存儲(chǔ)設(shè)備中的“剪貼板中的數(shù)據(jù)”,可以通過(guò)第三 方工具進(jìn)行管理,例如排序、格式轉(zhuǎn)換、大小寫(xiě)變換等等工作,使得剪貼板的使用更加得心 應(yīng)手,更加方便。
本發(fā)明的系統(tǒng)主要包括以下模塊數(shù)據(jù)提取模塊、數(shù)據(jù)分類(lèi)模塊、數(shù)據(jù)處理模 塊;數(shù)據(jù)導(dǎo)入模塊、數(shù)據(jù)粘貼模塊。當(dāng)用戶(hù)進(jìn)行一次復(fù)制操作后,數(shù)據(jù)被保存到剪貼板 上,此時(shí),由數(shù)據(jù)提取模塊將剪貼板中的數(shù)據(jù)提取出來(lái)(對(duì)應(yīng)剪貼板提供的編程API為 GetClipboardData接口),保存到外部存儲(chǔ)設(shè)備中,接著清空剪貼板(對(duì)應(yīng)剪貼板提供的編 程API為EmptyClipboard接口)。這樣一來(lái),就解決了數(shù)據(jù)丟失問(wèn)題和影響系統(tǒng)運(yùn)行速度的 問(wèn)題由于數(shù)據(jù)時(shí)保存在外部存儲(chǔ)設(shè)備上的,而剪貼板所屬的內(nèi)存塊已被清空,即使關(guān)機(jī)、 重啟甚至突然斷電都不會(huì)影響到已經(jīng)復(fù)制的數(shù)據(jù)。當(dāng)用戶(hù)進(jìn)行第二次復(fù)制的時(shí)候,同樣的 通過(guò)數(shù)據(jù)提取模塊提取剪貼板中的數(shù)據(jù)提取出來(lái)并保存到外部存儲(chǔ)設(shè)備上,這樣一來(lái),便 解決了不能多次復(fù)制的問(wèn)題,雖然剪貼板中仍然只能保存一次復(fù)制的內(nèi)容,但事實(shí)上多次 復(fù)制的內(nèi)容已經(jīng)被保存到外部存儲(chǔ)設(shè)備中。剪貼板中的數(shù)據(jù)被提取出來(lái)后,可通過(guò)數(shù)據(jù)分類(lèi)模塊對(duì)其進(jìn)行分類(lèi)(當(dāng)然,這 個(gè)可以由用戶(hù)來(lái)選擇,如果是及時(shí)復(fù)制及時(shí)粘貼的用戶(hù),進(jìn)行數(shù)據(jù)分類(lèi)反而顯得有點(diǎn)多 余)。由于剪貼板中可以同時(shí)存放多種格式的數(shù)據(jù),各自放在全局內(nèi)存的不同位置,而對(duì) 于每種剪貼板中存放過(guò)的格式,windows都會(huì)給它分配一個(gè)獨(dú)特的長(zhǎng)整形編號(hào),通過(guò)這個(gè) 編號(hào)可以知道對(duì)應(yīng)的數(shù)據(jù)格式的名稱(chēng),例如Public Const CF_TEXT = 1,Public Const CF_BITMAP = 2。數(shù)據(jù)提取模塊提取數(shù)據(jù)的時(shí)候可以同時(shí)通過(guò)剪貼板提供的編程API GetClipboardFormatName接口來(lái)獲取相應(yīng)的數(shù)據(jù)類(lèi)型交給數(shù)據(jù)分類(lèi)模塊,由數(shù)據(jù)分類(lèi)模塊 針對(duì)相應(yīng)的數(shù)據(jù)類(lèi)型對(duì)數(shù)據(jù)進(jìn)行分類(lèi)。當(dāng)用戶(hù)執(zhí)行粘貼操作的時(shí)候,首先調(diào)出選擇對(duì)話(huà)框,由用戶(hù)選擇需要粘貼的數(shù) 據(jù),接著,由數(shù)據(jù)導(dǎo)入模塊將被選中的數(shù)據(jù)導(dǎo)入到剪貼板中(對(duì)應(yīng)剪貼板提供的編程API SetClipboardData接口),然后由數(shù)據(jù)粘貼模塊調(diào)用剪貼板的粘貼命令,將數(shù)據(jù)粘貼到相應(yīng) 的位置。數(shù)據(jù)處理模塊負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行管理,包括數(shù)據(jù)排序、添加、更新、刪除等等操作。相對(duì)于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點(diǎn)是
本發(fā)明提供了一種可多次復(fù)用并不丟失數(shù)據(jù)的windows剪貼板的實(shí)現(xiàn)方法,通過(guò)本方 法,可以解決windows剪貼板只能復(fù)制一次以及復(fù)制后的數(shù)據(jù)容易丟失的問(wèn)題,并且能解 決由于復(fù)制大容量數(shù)據(jù)造成的內(nèi)存消耗過(guò)大而導(dǎo)致系統(tǒng)運(yùn)行緩慢的問(wèn)題。同時(shí),可以通過(guò) 數(shù)據(jù)處理模塊對(duì)數(shù)據(jù)進(jìn)行管理,使剪貼板使用起來(lái)更加方便,更加順手。


下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述
圖1為提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施例方式以下結(jié)合具體實(shí)施例對(duì)上述方案做進(jìn)一步說(shuō)明。應(yīng)理解,這些實(shí)施例是用于說(shuō)明 本發(fā)明而不限于限制本發(fā)明的范圍。實(shí)施例中采用的實(shí)施條件可以根據(jù)具體廠家的條件做 進(jìn)一步調(diào)整,未注明的實(shí)施條件通常為常規(guī)實(shí)驗(yàn)中的條件。
實(shí)施例如圖1所示,該提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),包括對(duì)數(shù)據(jù)進(jìn)行復(fù)制操作將數(shù)據(jù)復(fù)制到內(nèi)存中的數(shù)據(jù)復(fù)制模塊、將內(nèi)存中指定數(shù)據(jù)粘貼到應(yīng)用程序指定位置的 數(shù)據(jù)粘貼模塊、將復(fù)制到內(nèi)存中的數(shù)據(jù)進(jìn)行提取,并將數(shù)據(jù)存儲(chǔ)到外部存儲(chǔ)設(shè)備的數(shù)據(jù)提 取模塊、對(duì)外部存儲(chǔ)數(shù)據(jù)進(jìn)行管理的數(shù)據(jù)處理模塊、根據(jù)數(shù)據(jù)粘貼模塊的請(qǐng)求將存儲(chǔ)到外 部存儲(chǔ)設(shè)備的數(shù)據(jù)導(dǎo)入到內(nèi)存中的數(shù)據(jù)導(dǎo)入模塊、數(shù)據(jù)分類(lèi)模塊;所述數(shù)據(jù)導(dǎo)入模塊將數(shù) 據(jù)導(dǎo)入到內(nèi)存后,數(shù)據(jù)粘貼模塊將指定數(shù)據(jù)粘貼到指定位置。數(shù)據(jù)提取模塊通過(guò)調(diào)用GetCl ipboardData接口提取內(nèi)存中數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)入 外部存儲(chǔ)設(shè)備中;然后通過(guò)調(diào)用EmptyClipboard接口清空數(shù)據(jù)所在內(nèi)存。數(shù)據(jù)提取模塊監(jiān) 聽(tīng)用戶(hù)復(fù)制操作;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù)據(jù)復(fù)制模塊進(jìn)行數(shù)據(jù)復(fù)制時(shí),啟動(dòng)數(shù)據(jù) 提取模塊進(jìn)行數(shù)據(jù)提取操作。數(shù)據(jù)處理模塊包括排序模塊、添加模塊、更新模塊和刪除模塊,所述排序模塊用于 對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)按照指定規(guī)則進(jìn)行排序操作;所述更新模塊用于對(duì)外部存儲(chǔ) 設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行實(shí)時(shí)更新操作;所述添加模塊用于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn) 行添加操作;所述刪除模塊用于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行刪除操作。數(shù)據(jù)分類(lèi)模塊通過(guò)調(diào)用GetClipboardFormatName接口獲取數(shù)據(jù)的類(lèi)型根據(jù)數(shù)據(jù) 類(lèi)型對(duì)數(shù)據(jù)提取模塊提取的數(shù)據(jù)進(jìn)行分類(lèi)后存儲(chǔ)入外部存儲(chǔ)設(shè)備中。數(shù)據(jù)導(dǎo)入模塊包括數(shù) 據(jù)預(yù)覽模塊,監(jiān)聽(tīng)用戶(hù)粘貼操作;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù)據(jù)粘貼模塊進(jìn)行數(shù)據(jù)粘 貼操作時(shí),數(shù)據(jù)導(dǎo)入模塊通過(guò)調(diào)用SetClipboardData接口將指定數(shù)據(jù)導(dǎo)入內(nèi)存供數(shù)據(jù)粘 貼模塊進(jìn)行粘貼操作。數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù)據(jù)粘貼模塊進(jìn)行數(shù)據(jù)粘貼操作時(shí),數(shù)據(jù)導(dǎo)入模塊 將外部存儲(chǔ)設(shè)備中所有復(fù)制數(shù)據(jù)導(dǎo)入到內(nèi)存中并顯示給用戶(hù),供用戶(hù)選擇粘貼的指定數(shù) 據(jù)。數(shù)據(jù)粘貼模塊監(jiān)聽(tīng)用戶(hù)選擇粘貼指定數(shù)據(jù)的確認(rèn)指令;用戶(hù)確認(rèn)選擇粘貼指定數(shù)據(jù)時(shí), 數(shù)據(jù)粘貼模塊調(diào)用粘貼指令在應(yīng)用程序指定位置進(jìn)行粘貼操作。在windows系統(tǒng)中,數(shù)據(jù)復(fù)制模塊用來(lái)調(diào)用粘貼板復(fù)制命令復(fù)制數(shù)據(jù);數(shù)據(jù)提取 模塊用來(lái)提取數(shù)據(jù),數(shù)據(jù)分類(lèi)模塊用來(lái)將提取出來(lái)的數(shù)據(jù)進(jìn)行分類(lèi),而數(shù)據(jù)管理模塊負(fù)責(zé) 提取用戶(hù)的設(shè)置信息將數(shù)據(jù)進(jìn)行管理,數(shù)據(jù)導(dǎo)入模塊負(fù)責(zé)將用戶(hù)選中的數(shù)據(jù)導(dǎo)入剪貼板, 數(shù)據(jù)粘貼模塊則調(diào)用剪貼板的粘貼命令,將剪貼板中的數(shù)據(jù)粘貼到相應(yīng)位置。當(dāng)用戶(hù)進(jìn)行一次復(fù)制操作后,數(shù)據(jù)被保存到剪貼板上,此時(shí),由數(shù)據(jù)提取模塊將剪 貼板中的數(shù)據(jù)提取出來(lái)(對(duì)應(yīng)剪貼板提供的編程API為GetClipboardData接口),保存到 外部存儲(chǔ)設(shè)備中,接著清空剪貼板(對(duì)應(yīng)剪貼板提供的編程API為EmptyClipboard接口)。 這樣一來(lái),就解決了數(shù)據(jù)丟失問(wèn)題和影響系統(tǒng)運(yùn)行速度的問(wèn)題由于數(shù)據(jù)時(shí)保存在外部存 儲(chǔ)設(shè)備上的,而剪貼板所屬的內(nèi)存塊已被清空,即使關(guān)機(jī)、重啟甚至突然斷電都不會(huì)影響到 已經(jīng)復(fù)制的數(shù)據(jù)。當(dāng)用戶(hù)進(jìn)行第二次復(fù)制的時(shí)候,同樣的通過(guò)數(shù)據(jù)提取模塊提取剪貼板中 的數(shù)據(jù)提取出來(lái)并保存到外部存儲(chǔ)設(shè)備上,這樣一來(lái),便解決了不能多次復(fù)制的問(wèn)題,雖然 剪貼板中仍然只能保存一次復(fù)制的內(nèi)容,但事實(shí)上多次復(fù)制的內(nèi)容已經(jīng)被保存到外部存儲(chǔ) 設(shè)備中。剪貼板中的數(shù)據(jù)被提取出來(lái)后,可通過(guò)數(shù)據(jù)分類(lèi)模塊對(duì)其進(jìn)行分類(lèi)(當(dāng)然,這 個(gè)可以由用戶(hù)來(lái)選擇,如果是及時(shí)復(fù)制及時(shí)粘貼的用戶(hù),進(jìn)行數(shù)據(jù)分類(lèi)反而顯得有點(diǎn)多 余)。由于剪貼板中可以同時(shí)存放多種格式的數(shù)據(jù),各自放在全局內(nèi)存的不同位置,而對(duì) 于每種剪貼板中存放過(guò)的格式,windows都會(huì)給它分配一個(gè)獨(dú)特的長(zhǎng)整形編號(hào),通過(guò)這個(gè)編號(hào)可以知道對(duì)應(yīng)的數(shù)據(jù)格式的名稱(chēng),例如Public Const CF_TEXT = 1,Public Const CF_BITMAP = 2。數(shù)據(jù)提取模塊提取數(shù)據(jù)的時(shí)候可以同時(shí)通過(guò)剪貼板提供的編程API GetClipboardFormatName接口來(lái)獲取相應(yīng)的數(shù)據(jù)類(lèi)型交給數(shù)據(jù)分類(lèi)模塊,由數(shù)據(jù)分類(lèi)模塊 針對(duì)相應(yīng)的數(shù)據(jù)類(lèi)型對(duì)數(shù)據(jù)進(jìn)行分類(lèi)。當(dāng)用戶(hù)執(zhí)行粘貼操作的時(shí)候,首先調(diào)出選擇對(duì)話(huà)框,由用戶(hù)選擇需要粘貼的數(shù) 據(jù),接著,由數(shù)據(jù)導(dǎo)入模塊將被選中的數(shù)據(jù)導(dǎo)入到剪貼板中(對(duì)應(yīng)剪貼板提供的編程API SetClipboardData接口),然后由數(shù)據(jù)粘貼模塊調(diào)用剪貼板的粘貼命令,將數(shù)據(jù)粘貼到相應(yīng) 的位置。本發(fā)明中數(shù)據(jù)分類(lèi)模塊可由用戶(hù)手動(dòng)設(shè)置需要或者不需要,數(shù)據(jù)管理模塊可由用 戶(hù)手動(dòng)設(shè)置數(shù)據(jù)排序方式為名稱(chēng)排序、時(shí)間排序、大小排序或者使用量排序,也可以設(shè)置最 大保存的數(shù)據(jù)條數(shù),以免保存條目過(guò)多不易于操作、占用空間過(guò)大等等問(wèn)題。本系統(tǒng)適用于 操作系統(tǒng)領(lǐng)域,該系統(tǒng)可保證windows剪貼板復(fù)制可多次復(fù)用、保證數(shù)據(jù)不丟失、不影響系 統(tǒng)運(yùn)行速度。上述實(shí)例只為說(shuō)明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人是 能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精 神實(shí)質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),包括對(duì)數(shù)據(jù)進(jìn)行復(fù)制操作將數(shù)據(jù) 復(fù)制到內(nèi)存中的數(shù)據(jù)復(fù)制模塊和將內(nèi)存中指定數(shù)據(jù)粘貼到應(yīng)用程序指定位置的數(shù)據(jù)粘貼 模塊,其特征在于所述系統(tǒng)還包括將復(fù)制到內(nèi)存中的數(shù)據(jù)進(jìn)行提取,并將數(shù)據(jù)存儲(chǔ)到外部 存儲(chǔ)設(shè)備的數(shù)據(jù)提取模塊、對(duì)外部存儲(chǔ)數(shù)據(jù)進(jìn)行分類(lèi)、管理的數(shù)據(jù)處理模塊和根據(jù)數(shù)據(jù)粘 貼模塊的請(qǐng)求將存儲(chǔ)到外部存儲(chǔ)設(shè)備的數(shù)據(jù)導(dǎo)入到內(nèi)存中的數(shù)據(jù)導(dǎo)入模塊;所述數(shù)據(jù)導(dǎo)入 模塊將數(shù)據(jù)導(dǎo)入到內(nèi)存后,數(shù)據(jù)粘貼模塊將指定數(shù)據(jù)粘貼到指定位置。
2.根據(jù)權(quán)利要求1所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述數(shù)據(jù)提取模塊通過(guò)調(diào)用GetClipboardData接口提取內(nèi)存中數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)入外部存 儲(chǔ)設(shè)備中;然后通過(guò)調(diào)用EmptyClipboard接口清空數(shù)據(jù)所在內(nèi)存。
3.根據(jù)權(quán)利要求2所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述數(shù)據(jù)提取模塊監(jiān)聽(tīng)用戶(hù)復(fù)制操作;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù)據(jù)復(fù)制模塊進(jìn)行數(shù)據(jù) 復(fù)制時(shí),啟動(dòng)數(shù)據(jù)提取模塊進(jìn)行數(shù)據(jù)提取操作。
4.根據(jù)權(quán)利要求1所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述數(shù)據(jù)處理模塊包括排序模塊、添加模塊、更新模塊和刪除模塊,所述排序模塊用于對(duì)外部 存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)按照指定規(guī)則進(jìn)行排序操作;所述更新模塊用于對(duì)外部存儲(chǔ)設(shè)備中 存儲(chǔ)的數(shù)據(jù)進(jìn)行實(shí)時(shí)更新操作;所述添加模塊用于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行添加 操作;所述刪除模塊用于對(duì)外部存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行刪除操作。
5.根據(jù)權(quán)利要求1所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述系統(tǒng)還包括數(shù)據(jù)分類(lèi)模塊,所述數(shù)據(jù)分類(lèi)模塊通過(guò)調(diào)用GetClipboardFormatName接口 獲取數(shù)據(jù)的類(lèi)型根據(jù)數(shù)據(jù)類(lèi)型對(duì)數(shù)據(jù)提取模塊提取的數(shù)據(jù)進(jìn)行分類(lèi)后存儲(chǔ)入外部存儲(chǔ)設(shè) 備中。
6.根據(jù)權(quán)利要求1所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述數(shù)據(jù)導(dǎo)入模塊監(jiān)聽(tīng)用戶(hù)粘貼操作;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù)據(jù)粘貼模塊進(jìn)行數(shù)據(jù) 粘貼操作時(shí),數(shù)據(jù)導(dǎo)入模塊通過(guò)調(diào)用SetClipboardData接口將指定數(shù)據(jù)導(dǎo)入內(nèi)存供數(shù)據(jù) 粘貼模塊進(jìn)行粘貼操作。
7.根據(jù)權(quán)利要求6所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述數(shù)據(jù)導(dǎo)入模塊還包括數(shù)據(jù)預(yù)覽模塊;數(shù)據(jù)提取模塊監(jiān)聽(tīng)到用戶(hù)通過(guò)數(shù)據(jù)粘貼模塊進(jìn)行 數(shù)據(jù)粘貼操作時(shí),數(shù)據(jù)導(dǎo)入模塊將外部存儲(chǔ)設(shè)備中所有復(fù)制數(shù)據(jù)導(dǎo)入到內(nèi)存中并顯示給用 戶(hù),供用戶(hù)選擇粘貼的指定數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),其特征在于所 述數(shù)據(jù)粘貼模塊監(jiān)聽(tīng)用戶(hù)選擇粘貼指定數(shù)據(jù)的確認(rèn)指令;用戶(hù)確認(rèn)選擇粘貼指定數(shù)據(jù)時(shí), 數(shù)據(jù)粘貼模塊調(diào)用粘貼指令在應(yīng)用程序指定位置進(jìn)行粘貼操作。
9.一種提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的方法,其特征在于所述方法包括以下步驟(1)提取用戶(hù)復(fù)制到內(nèi)存中的數(shù)據(jù),存儲(chǔ)到外部存儲(chǔ)設(shè)備中,并清空數(shù)據(jù)所在內(nèi)存;(2)粘貼時(shí)將外部存儲(chǔ)設(shè)備中的數(shù)據(jù)導(dǎo)入到內(nèi)存中,通過(guò)調(diào)用粘貼指令進(jìn)行粘貼指定 數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于所述方法還包括對(duì)步驟(1)存儲(chǔ)到外部 存儲(chǔ)設(shè)備中的數(shù)據(jù)進(jìn)行刪除、添加、更新和排序操作。
全文摘要
本發(fā)明公開(kāi)了一種提供計(jì)算機(jī)應(yīng)用程序多次復(fù)用粘貼的系統(tǒng),包括對(duì)數(shù)據(jù)進(jìn)行復(fù)制操作將數(shù)據(jù)復(fù)制到內(nèi)存中的數(shù)據(jù)復(fù)制模塊和將內(nèi)存中指定數(shù)據(jù)粘貼到應(yīng)用程序指定位置的數(shù)據(jù)粘貼模塊,其特征在于所述系統(tǒng)還包括將復(fù)制到內(nèi)存中的數(shù)據(jù)進(jìn)行提取,并將數(shù)據(jù)存儲(chǔ)到外部存儲(chǔ)設(shè)備的數(shù)據(jù)提取模塊、對(duì)外部存儲(chǔ)數(shù)據(jù)進(jìn)行分類(lèi)、管理的數(shù)據(jù)處理模塊和根據(jù)數(shù)據(jù)粘貼模塊的請(qǐng)求將存儲(chǔ)到外部存儲(chǔ)設(shè)備的數(shù)據(jù)導(dǎo)入到內(nèi)存中的數(shù)據(jù)導(dǎo)入模塊;所述數(shù)據(jù)導(dǎo)入模塊將數(shù)據(jù)導(dǎo)入到內(nèi)存后,數(shù)據(jù)粘貼模塊將指定數(shù)據(jù)粘貼到指定位置。該系統(tǒng)可保證windows剪貼板復(fù)制可多次復(fù)用、保證數(shù)據(jù)不丟失、不影響系統(tǒng)運(yùn)行速度。
文檔編號(hào)G06F9/46GK102141933SQ20111000876
公開(kāi)日2011年8月3日 申請(qǐng)日期2011年1月17日 優(yōu)先權(quán)日2011年1月17日
發(fā)明者宋佳, 戴歡, 王兵, 章登義 申請(qǐng)人:博視聯(lián)(蘇州)信息科技有限公司, 武漢大學(xué)蘇州研究院
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1