TC官方合作论坛

标题: 如何把剪切板内的图片用变量保存 [打印本页]

作者: wjyzl0569    时间: 2017-1-14 19:20
标题: 如何把剪切板内的图片用变量保存
剪切板内是图片的,然后用变量保存剪切板的这个图片,利用完剪切板后,再把图片放到剪切板内,有大神指点一二

作者: 千叶de悠一    时间: 2017-1-15 03:43
没懂
  1. 功能 位图到剪切版(参_源内存DC,参_左, 参_上, 参_右, 参_下)
  2.     变量 CF_TEXT = 1
  3.     变量 CF_BITMAP = 2   
  4.    
  5.     变量 hand = 窗口获取自我句柄()
  6.    
  7.     变量 参_内存DC = 动态库调用("user32.dll", "long", "GetDC", "long", hand)
  8.     变量 ClipDc = 动态库调用("gdi32.dll", "int", "CreateCompatibleDC", "int", 参_内存DC)
  9.     变量 hBitmap = 动态库调用("gdi32.dll", "int", "CreateCompatibleBitmap", "int", 参_内存DC, "int", 参_右 - 参_左, "int", 参_下 - 参_上)   
  10.     变量 hOldBitmap = 动态库调用("gdi32.dll", "int", "SelectObject", "int", ClipDc, "int", hBitmap)
  11.     变量 ret = 动态库调用("gdi32.dll", "int", "BitBlt", "int", ClipDc, "int", 0, "int", 0, "int", 参_右 - 参_左, "int", 参_下 - 参_上, "int", 参_源内存DC, "int", 参_左, "int", 参_上, "int", #00CC0020)
  12.     hBitmap = 动态库调用("gdi32.dll", "int", "SelectObject", "int", ClipDc, "int", hOldBitmap)
  13.     动态库调用("user32.dll", "int", "OpenClipboard", "int", 0) //打开剪切板
  14.     动态库调用("user32.dll", "int", "EmptyClipboard") //清空剪切板
  15.     ret = 动态库调用("user32.dll", "int", "SetClipboardData", "int", CF_BITMAP, "int", hBitmap) //复制图片
  16.     动态库调用("user32.dll", "int", "CloseClipboard") //关闭剪切板
  17.     动态库调用("user32.dll", "int", "DeleteObject", "int", hOldBitmap)
  18.     动态库调用("user32.dll", "int", "DeleteObject", "int", hBitmap)
  19.     动态库调用("user32.dll", "int", "DeleteDC", "int", ClipDc)
  20.    
  21. 结束
复制代码


作者: wjyzl0569    时间: 2017-1-15 05:41
千叶de悠一 发表于 2017-1-15 03:43
没懂

你这个是截图到剪切板吧,我想要的是,剪切板内已经有图片,需要把这个图片数据备份出来,不是保存为文件哪种备份,是把他放到内存中,然后对剪切板进行清空后,能够再把备份的图片数恢复到剪切板内

大体流程是:备份剪切板数据,清空剪切板内容 ,恢复备份的数据内容到剪切板
作者: 剑仙十号    时间: 2017-1-15 11:13
本帖最后由 剑仙十号 于 2017-1-15 11:15 编辑

大漠插件。把剪贴板内容,加载到内存。
一次加载,多次调用。效率非常高的。
作者: 剑仙十号    时间: 2017-1-15 11:14
本帖最后由 剑仙十号 于 2017-1-15 11:15 编辑

大漠插件。把字库文件,加载到内存。

一次加载,多次调用。效率非常高的。

作者: wjyzl0569    时间: 2017-1-15 11:17
剑仙十号 发表于 2017-1-15 11:14
大漠插件。把字库文件,加载到内存。

一次加载,多次调用。效率非常高的。

这个支持图片吗?我主要是为了备份和恢复剪切板内容这两个功能
作者: wjyzl0569    时间: 2017-1-15 11:20
不知道能否通过api实现不
作者: 312120292    时间: 2017-1-15 15:59
我觉得,你直接得到图片的路径,,然后把路径存入变量不就行了!  
作者: wjyzl0569    时间: 2017-1-15 19:22
312120292 发表于 2017-1-15 15:59
我觉得,你直接得到图片的路径,,然后把路径存入变量不就行了!

也算是一种办法吧,关键是我不想读取硬盘
作者: 千叶de悠一    时间: 2017-1-15 23:35
wjyzl0569 发表于 2017-1-15 05:41
你这个是截图到剪切板吧,我想要的是,剪切板内已经有图片,需要把这个图片数据备份出来,不是保存为文件 ...

GetClipboardData
作者: wjyzl0569    时间: 2017-1-16 12:58
千叶de悠一 发表于 2017-1-15 23:35
GetClipboardData

备份到内存这步不行,我获取不到剪切板图片的大小字节,用那个地址锁定函数,就会得到句柄无效的提示。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1