我正在尝试使用Golang编写程序,从Windows剪贴板获取图像数据。
我知道有一个插件可以从Windows剪贴板获取数据(链接),但它不支持图像数据,只支持文本。基本上不是我要找的东西。
如果剪贴板包含图像,将输出“操作成功完成”的错误信息。 有什么想法吗? 更新!: 我尝试将CF_BITMAP传递给GetClipboardData,它会返回一个位图句柄(Hbitmap)。我不熟悉处理该内容,但显然它是一个长的无符号数字? 无论如何,我尝试了一些谷歌搜索结果,看到了这里:this。使用函数GdipCreateBitmapFromHBITMAP:
我得到了“ok”的输出,但位图为空。我又卡住了。
我该如何存储位图?
我知道有一个插件可以从Windows剪贴板获取数据(链接),但它不支持图像数据,只支持文本。基本上不是我要找的东西。
package main
import ("fmt"
"github.com/atotto/clipboard"
)
func main() {
str,err:=clipboard.ReadAll()
if err!=nil {
fmt.Println(err)
}else {
fmt.Println(str)
}
}
如果剪贴板包含图像,将输出“操作成功完成”的错误信息。 有什么想法吗? 更新!: 我尝试将CF_BITMAP传递给GetClipboardData,它会返回一个位图句柄(Hbitmap)。我不熟悉处理该内容,但显然它是一个长的无符号数字? 无论如何,我尝试了一些谷歌搜索结果,看到了这里:this。使用函数GdipCreateBitmapFromHBITMAP:
var Bitmap *win.GpBitmap
pBitmap := &Bitmap
fmt.Println(win.GdipCreateBitmapFromHBITMAP(win.HBITMAP(Hbitmap),0,pBitmap))
我得到了“ok”的输出,但位图为空。我又卡住了。
我该如何存储位图?