You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用R语言获取Windows剪贴板中的截图?

获取剪贴板中Prt Scr截图的可行方案

你之前用的方法完全不对——cat("\U2399")只是打印一个打印屏幕的符号,根本不会触发按键或读取剪贴板;keybd.press('/44')是按键码用错了,自然无效。下面给你分语言的解决思路:

R语言场景

  • 触发Prt Scr按键:用sendkeys包发送正确的按键指令
    library(sendkeys)
    sendkeys("{PRTSC}")
    Sys.sleep(0.5) # 必须等一下,给系统存截图到剪贴板的时间
    
  • 读取剪贴板里的截图:用clipr读取二进制数据再保存
    library(clipr)
    img_raw <- read_clipboard_raw()
    writeBin(img_raw, "my_screenshot.png")
    

Python语言场景(对应你用的KeyboardSimulator)

  • 修正Prt Scr的按键码:Prt Scr的正确十六进制码是0x2C,不是/44
    from KeyboardSimulator import keybd
    keybd.press(0x2C)
    keybd.release(0x2C) # 按键后必须释放,不然会一直处于按下状态
    
  • 读取剪贴板截图:用PIL的ImageGrab直接读取,比操作二进制更方便
    from PIL import ImageGrab
    import time
    time.sleep(0.5) # 同样要等系统处理截图
    img = ImageGrab.grabclipboard()
    if img is not None:
        img.save("my_screenshot.png")
    

额外提醒

  • 检查程序的剪贴板访问权限,尤其是macOS或Linux下,可能需要手动授权。
  • 如果是截取活动窗口而不是全屏,把按键指令改成{PRTSC}{ALT}(R)或者对应组合键(Python)即可。

内容的提问来源于stack exchange,提问作者Seb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:33:17