gzygzygzy 发表于 2022-1-5 13:05:30

如何将图片数据放到剪切板,然后能粘帖到其他软件中(已解决)

本帖最后由 gzygzygzy 于 2022-1-5 16:27 编辑

各位大侠,
我想将图片数据放到剪切板,然后按ctrl+v能粘贴到画图或其它软件中,搜索论坛发现有类似的提问(https://www.autoitx.com/thread-17853-1-1.html),但发现写入失败,不知问题出在哪,谢谢。

#Include <WinAPI.au3>
#Include <Clipboard.au3>
$hBitMap=_WinAPI_LoadImage(_WinAPI_GetModuleHandle(0),"test.bmp", 0, 0, 0, 0x0010)
_ClipBoard_Open(0)
_ClipBoard_Empty()
_ClipBoard_SetDataEx($hBitMap ,$CF_BITMAP)
_ClipBoard_Close()

itzyx 发表于 2022-1-5 15:01:49

_ClipPutFile
复制文件到剪切板

#include <Misc.au3>
_ClipPutFile ( $sFilePath [, $sDelimiter = "|"] )


参数
$sFilePath 文件的完整路径
$sDelimiter [可选] 多文件的分隔符, 默认 = '|'

返回值
成功: 返回 True
失败: 返回 False, @error 设置 为非 0 值
@error: 1 - 不能打开剪切板
2 - 不能清空剪切板
3 - GlobalAlloc(全局分配)失败
4 - GlobalLock(全局锁定)失败
5 - 不能创建 H_DROP
6 - 不能更新剪切板
7 - 不能关闭剪切板
8 - GlobalUnlock(全局解锁)失败
9 - GlobalFree(全局释放)失败

gzygzygzy 发表于 2022-1-5 15:22:25

谢谢,我要的是能将图片直接粘贴到其他软件里,而不是粘帖到文件夹里。

itzyx 发表于 2022-1-5 15:34:50

gzygzygzy 发表于 2022-1-5 15:22
谢谢,我要的是能将图片直接粘贴到其他软件里,而不是粘帖到文件夹里。

“我想将图片数据放到剪切板,然后按ctrl+v能粘贴到画图或其它软件中 "
这个不是需求嘛,先放到剪切板,直接ctrl+v,就可以粘贴到其他软件了啊

gzygzygzy 发表于 2022-1-5 15:41:16

在文件夹可以,但在软件里粘贴不了,

afan 发表于 2022-1-5 15:42:17

一楼的代码并无问题,可以将 test.bmp 放入剪贴板。验证的话可以打开画图软件ctrl-v粘贴。

gzygzygzy 发表于 2022-1-5 15:55:20

我这里提示“剪贴板上的信息无法插入画图”。不知您的测试环境是什么,我AUTOIT版本是3.3.14.5

afan 发表于 2022-1-5 16:01:22

gzygzygzy 发表于 2022-1-5 15:55
我这里提示“剪贴板上的信息无法插入画图”。不知您的测试环境是什么,我AUTOIT版本是3.3.14.5

xp
3.3.14.2
你可以插入调试信息,看看哪一步异常

chzj589 发表于 2022-1-5 16:03:58

gzygzygzy 发表于 2022-1-5 15:55
我这里提示“剪贴板上的信息无法插入画图”。不知您的测试环境是什么,我AUTOIT版本是3.3.14.5

运行 AU3Check (3.3.14.2),通过。
打开Microsoft Office Word,ctrl-v粘贴成功

itzyx 发表于 2022-1-5 16:14:40

gzygzygzy 发表于 2022-1-5 15:41
在文件夹可以,但在软件里粘贴不了,

这是粘贴在剪切板的,软件我试了 钉钉,微信都行,画图软件好像没办法直接ctrl+v粘贴 ......

gzygzygzy 发表于 2022-1-5 16:26:03

谢谢各位大佬,我把图片格式改成16色和单色位图,可以粘贴了。
页: [1]
查看完整版本: 如何将图片数据放到剪切板,然后能粘帖到其他软件中(已解决)