2 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
對(duì)于仍在尋找解決方案的任何人。這是一個(gè)可以處理 UTF8 和圖像剪貼板數(shù)據(jù)的活動(dòng) Go 包:
https://github.com/golang-design/clipboard
它也是跨平臺(tái)的(Linux/Windows/macOS),無(wú)需額外的依賴(lài)項(xiàng),這是前面提到的 atotto/clipboard 包的一個(gè)很好的替代品。

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
問(wèn)題
該github.com/atotto/clipboard
軟件包似乎專(zhuān)門(mén)針對(duì)文本操作,并且它是跨平臺(tái)的,所以這就是您所得到的。
在 Windows? 上,該包使用標(biāo)準(zhǔn) Win32 API 來(lái)訪(fǎng)問(wèn)剪貼板。具體來(lái)說(shuō),此語(yǔ)句調(diào)用GetClipboardData()
向其傳遞CF_UNICODETEXT
格式參數(shù),這就是操作成功完成的原因:它返回剪貼板包含的文本(在您的情況下,無(wú),一個(gè)空字符串)。
解決方案
GetClipboardData
最簡(jiǎn)單的解決方案是從該包中復(fù)制 Windows 特定代碼的相關(guān)位,并修改對(duì)to的調(diào)用中的參數(shù)CF_BITMAP
。
更復(fù)雜的解決方案可能是首先執(zhí)行一系列調(diào)用EnumClipboardFormats()
并確定是否有任何圖像數(shù)據(jù) (?CF_BITMAP
) 可用,并且GetClipboardData
僅在可用的情況下調(diào)用。
- 2 回答
- 0 關(guān)注
- 203 瀏覽
添加回答
舉報(bào)