第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 Windows 剪貼板獲取圖像數(shù)據(jù)

如何從 Windows 剪貼板獲取圖像數(shù)據(jù)

Go
HUX布斯 2023-08-07 10:54:01
我正在嘗試用 Golang 編寫一個程序來從 Windows 剪貼板獲取圖像數(shù)據(jù)。我知道有一個插件可以從 Windows 剪貼板獲取數(shù)據(jù),問題是它不支持圖像數(shù)據(jù),僅支持文本?;旧喜皇俏蚁胍摹ackage mainimport ("fmt"? ? ? ? "github.com/atotto/clipboard")func main()? {? ? str,err:=clipboard.ReadAll()? ? if err!=nil {? ? ? ? fmt.Println(err)? ? ? ??? ? }else {? ? ? ? fmt.Println(str)? ? }}這將輸出“操作成功完成”。如果剪貼板包含圖像,則會出現(xiàn)錯誤。知道如何做到這一點嗎?更新?。何覈L試傳遞CF_BITMAP給GetClipboardData,它返回位圖(Hbitmap)的句柄。我不熟悉處理這個問題,但顯然它是一個很長的無符號數(shù)字?使用該功能GdipCreateBitmapFromHBITMAP:var?Bitmap?*win.GpBitmap pBitmap?:=?&Bitmap fmt.Println(win.GdipCreateBitmapFromHBITMAP(win.HBITMAP(Hbitmap),0,pBitmap))我得到了“ok”輸出,但位圖是空的。我又被困住了。我應(yīng)該如何存儲位圖?
查看完整描述

2 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗 獲得超3個贊

對于仍在尋找解決方案的任何人。這是一個可以處理 UTF8 和圖像剪貼板數(shù)據(jù)的活動 Go 包:

https://github.com/golang-design/clipboard

它也是跨平臺的(Linux/Windows/macOS),無需額外的依賴項,這是前面提到的 atotto/clipboard 包的一個很好的替代品。


查看完整回答
反對 回復(fù) 2023-08-07
?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗 獲得超6個贊

問題

github.com/atotto/clipboard軟件包似乎專門針對文本操作,并且它是跨平臺的,所以這就是您所得到的。

在 Windows? 上,該包使用標(biāo)準(zhǔn) Win32 API 來訪問剪貼板。具體來說,此語句調(diào)用GetClipboardData()向其傳遞CF_UNICODETEXT格式參數(shù),這就是操作成功完成的原因:它返回剪貼板包含的文本(在您的情況下,無,一個空字符串)。

解決方案

GetClipboardData最簡單的解決方案是從該包中復(fù)制 Windows 特定代碼的相關(guān)位,并修改對to的調(diào)用中的參數(shù)CF_BITMAP。

更復(fù)雜的解決方案可能是首先執(zhí)行一系列調(diào)用EnumClipboardFormats()并確定是否有任何圖像數(shù)據(jù) (?CF_BITMAP) 可用,并且GetClipboardData僅在可用的情況下調(diào)用。


查看完整回答
反對 回復(fù) 2023-08-07
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號