C 如何儲存剪貼簿內容,在使用後恢復。

2021-07-03 01:52:10 字數 835 閱讀 9447

c# clipboard類封裝了對剪貼簿的操作,一般使用沒有問題。但由於clipboard封裝的資料型別有限,對於一些自定義型別的剪貼簿資料,如果想占用剪貼簿並在使用後原樣恢復剪貼簿的資料就會產生問題。試驗了很多方法後,嘗試學習別人c++的思路。使用winapi來處理剪貼本解決問題。

using system;

using system.runtime.interopservices;

using system.collections.generic;

namespace 學習

else

intptr hmem = intptr.zero;

intptr lpstr = intptr.zero;

uint uformat = 0;

while (fi)

globalunlock(hmem);

bytes.add(buffer);}}

else

}closeclipboard();

if (formats.count>0)

else

}/// /// 恢復儲存的資料

///

///

public static bool restoreclip()

if (openclipboard((intptr)0) < 1)

if (fi)

else

setclipboarddata(formats[i], si);}}

closeclipboard();  

if (formats.count>0)

else}}

}

使用剪貼簿儲存自定義物件

技術要點 放置到剪貼簿上的物件必須是可序列化的。剪貼簿接收乙個實現了idataobject介面的物件,可以用此物件 包裝 具體的資料物件。可以多次呼叫idataobject.setdata方法將多種型別的物件複製到剪貼簿中。在獲取剪貼簿中的資料時通過dataformat進行識別 在進行貼上之前,需要...

Android如何把 內容複製到剪貼簿

簡單使用,將所需內容複製到剪貼版 private clipboardmanager cm private clipdata mclipdata 獲取剪貼簿管理器 cm clipboardmanager getsystemservice context.clipboard service 建立普通字元...

如何在vim中使用系統剪貼簿

作為一名磚業的cv攻城獅候補,在使用vim時因為vim的剪貼簿是一塊單獨的記憶體,不能很方便地cv我們在網上找到的優秀 這實在讓我感到非常頭疼,故而在網上搜了一下如何讓vim能夠使用系統剪貼簿,在這裡記錄一下。我搜了很多帖子並且嘗試了很多方法,但是這個vim gnome始終無法安裝上去,所以這個方法...