Golang获取系统剪贴板内容的方法

在Golang中如何获取系统剪贴板的内容?我尝试过一些方法但都没成功,希望有经验的开发者能分享一个可靠的方法或推荐合适的库。最好能支持跨平台(Windows/MacOS/Linux)。谢谢!

2 回复

在Golang中获取系统剪贴板内容,可以使用第三方库。推荐使用github.com/atotto/clipboard,简单易用:

package main

import (
    "fmt"
    "github.com/atotto/clipboard"
)

func main() {
    // 读取剪贴板内容
    text, err := clipboard.ReadAll()
    if err != nil {
        panic(err)
    }
    fmt.Println("剪贴板内容:", text)
}

安装方法:

go get github.com/atotto/clipboard

这个库支持跨平台(Windows/macOS/Linux),使用系统原生API实现。如果只需要写入剪贴板,可以用clipboard.WriteAll("text")

注意:在某些Linux系统上可能需要安装xsel或xclip:

# Ubuntu/Debian
sudo apt install xsel xclip

这个库足够满足大部分基础需求,如果遇到权限问题,可能需要检查系统剪贴板访问权限。

更多关于Golang获取系统剪贴板内容的方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在Go语言中,可以通过第三方库来获取系统剪贴板内容。以下是使用 github.com/atotto/clipboard 库的示例方法:

  1. 安装库

    go get github.com/atotto/clipboard
    
  2. 代码示例

    package main
    
    import (
        "fmt"
        "github.com/atotto/clipboard"
    )
    
    func main() {
        // 读取剪贴板内容
        text, err := clipboard.ReadAll()
        if err != nil {
            fmt.Println("读取剪贴板失败:", err)
            return
        }
        fmt.Println("剪贴板内容:", text)
    }
    

说明

  • 该库支持 Windows、macOS 和 Linux 系统。
  • ReadAll() 返回剪贴板中的文本内容。
  • 如果需要写入剪贴板,可使用 clipboard.WriteAll("内容")

注意事项

  • 某些 Linux 发行版可能需要安装 xclip 或 xsel 工具(例如:sudo apt install xclip)。
  • 该库仅处理文本内容,不支持二进制数据(如图片)。
回到顶部