回覆列表
  • 1 # 使用者3120576841615

    Update:調整了順序,添加了詳細的過程介紹,修改了之前偷懶的程式碼

    Windows下使用剪貼簿的過程大致如下:

    複製的過程:

    1. 初始狀態。

    2. 程式A使用 OpenClipboard 開啟剪貼簿。此時剪貼簿被獨佔,無法被其他程式開啟。

    3. 程式A使用 EmptyClipboard 清空剪貼簿。此時剪貼簿中原有的資料被清除。

    4. 程式A使用 GlobalAlloc 申請一段用於存放資料的全域性記憶體。

    5. 程式A使用 GlobalLock、GlobalUnlock 設定全域性記憶體中的資料。

    6. 程式A使用 SetClipboardData 將全域性記憶體的控制代碼設定到剪貼簿。

    7. 程式A使用 CloseClipboard 關閉剪貼簿。此時剪貼簿的佔用被解除,其他程式可以訪問剪貼簿。程式A關閉後剪貼簿中依然有資料。

    貼上的過程:

    1. 初始狀態。

    2. 程式B使用 OpenClipboard 開啟剪貼簿。

    3. 程式B使用 GetClipboardData 獲取剪貼簿中全域性記憶體的控制代碼。

    4. 程式B使用 GlobalLock、GlobalUnlock 獲取全域性記憶體中的資料。

    5. 程式B使用 CloseClipboard 關閉剪貼簿。

    實際上,當你在檔案管理器中使用“複製”的時候,並不會真正地將整個檔案複製到剪貼簿中,只是將檔案的路徑存放在了剪貼簿中(型別為 CF_HDROP,簡單地說是一個檔案列表),當然也不會消耗多少時間。當你“貼上”的時候,檔案管理器才會真正地複製這個檔案。

    舉例來說,你可以透過下面的程式碼來檢視當前剪貼簿中剛剛“複製”了的檔案(C++11程式碼):

    效果(隨便選了一些檔案):

  • 2 # 使用者4155342772864

    首先,開啟一個word文件。

    複製文字內容完成,怎麼找到剛才複製的文字呢?點選選單欄中的【編輯】——【office剪下板】。右側就會顯示出剪下板複製貼上記錄內容。可以看到剛才複製的內容了。這個word剪下板內容是能夠儲存很多歷史記錄的。複製一段話,再看看右側word剪下板歷史記錄,可以看到我複製的內容實時顯示在這裡

  • 中秋節和大豐收的關聯?
  • 關於棲霞礦井救援,大家有什麼好點子?