开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1282|回复: 9
收起左侧

[已解决] 图片框的粘贴取网页窗口

 关闭 [复制链接]
结帖率:89% (8/9)
发表于 2018-2-3 11:47:51 | 显示全部楼层 |阅读模式   河南省郑州市
5精币
求大神更改为取网页窗口

剪辑板类型_取文件列表_取QQ复制内容.e

16.56 KB, 下载次数: 7

QQ图片20180203114417.png

最佳答案

查看完整内容

http://www.5a5x.com/06/201108/08174082.html 你可以看看这个 应该是你要的 简简单单 没几句代码 都是API

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (5/5)
发表于 2018-2-3 11:47:52 | 显示全部楼层   吉林省通化市
http://www.5a5x.com/06/201108/08174082.html
你可以看看这个  应该是你要的
QQ截图20180203125937.png
简简单单 没几句代码  都是API

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (5/5)
发表于 2018-2-3 11:58:58 | 显示全部楼层   吉林省通化市
改成取网页窗口 取 那个网页的啊?  IE 的话  精易普通填表里面有个 网页_取IE窗口句柄     这个 命令就可以取的
回复

使用道具 举报

结帖率:89% (8/9)
 楼主| 发表于 2018-2-3 12:11:35 | 显示全部楼层   河南省郑州市
浩瀚网络_小涛 发表于 2018-2-3 11:58
改成取网页窗口 取 那个网页的啊?  IE 的话  精易普通填表里面有个 网页_取IE窗口句柄     这个 命令就可以 ...

在任意窗口 复制的图片 怎么改?
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2018-2-3 12:27:09 | 显示全部楼层   吉林省通化市
xinyuan2200 发表于 2018-2-3 12:11
在任意窗口 复制的图片 怎么改?

任意?  都是 你写的代码的窗口 还是  任意的?
回复

使用道具 举报

结帖率:89% (8/9)
 楼主| 发表于 2018-2-3 12:31:24 | 显示全部楼层   河南省郑州市
浩瀚网络_小涛 发表于 2018-2-3 12:27
任意?  都是 你写的代码的窗口 还是  任意的?

意思就是我从别的任意窗口复制的图片粘贴到图片框
回复

使用道具 举报

结帖率:89% (8/9)
 楼主| 发表于 2018-2-3 12:36:59 | 显示全部楼层   河南省郑州市
  1. .版本 2

  2. .程序集 程序集1

  3. .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

  4. 全_QQ剪辑板标志 = RegisterClipboardFormat (“QQ_RichEdit_Format”)
  5. 载入 (窗口1, , 假)
  6. 返回 (0)  ' 可以根据您的需要返回任意数值

  7. .子程序 剪辑板_取类型, 整数型
  8. .参数 窗口句柄, 整数型
  9. .局部变量 局_类型, 整数型

  10. OpenClipboard (窗口句柄)
  11. 局_类型 = EnumClipboardFormats (0)
  12. CloseClipboard ()
  13. 返回 (局_类型)

  14. .子程序 剪辑板_取复制文件列表, 整数型, 公开, 返回文件个数
  15. .参数 窗口句柄, 整数型
  16. .参数 返回文件列表, 文本型, 数组
  17. .局部变量 剪辑板数据句柄, 整数型
  18. .局部变量 局_文件数量, 整数型
  19. .局部变量 局_计次n, 整数型
  20. .局部变量 局_临时文件路径, 文本型
  21. .局部变量 cch, 整数型

  22. 清除数组 (返回文件列表)
  23. OpenClipboard (窗口句柄)
  24. 剪辑板数据句柄 = GetClipboardData (15)
  25. CloseClipboard ()
  26. .如果真 (剪辑板数据句柄 ≠ 0)
  27.     局_文件数量 = DragQueryFileA (剪辑板数据句柄, -1, “”, 0)
  28.     ' 调试输出 (局_文件数量)
  29.     .计次循环首 (局_文件数量, 局_计次n)
  30.         cch = DragQueryFileA (剪辑板数据句柄, 局_计次n - 1, “”, 0)
  31.         局_临时文件路径 = 取空白文本 (cch + 1)
  32.         DragQueryFileA (剪辑板数据句柄, 局_计次n - 1, 局_临时文件路径, cch + 1)
  33.         加入成员 (返回文件列表, 局_临时文件路径)
  34.     .计次循环尾 ()
  35. .如果真结束

  36. 返回 (取数组成员数 (返回文件列表))


  37. .子程序 剪辑板_取QQ复制图片路径, 文本型, 公开
  38. .参数 窗口句柄, 整数型
  39. .局部变量 剪辑板数据句柄, 整数型
  40. .局部变量 全局内存块大小, 整数型
  41. .局部变量 全局内存块, 整数型
  42. .局部变量 大小, 整数型
  43. .局部变量 消息字节集, 字节集
  44. .局部变量 消息文本, 文本型

  45. OpenClipboard (窗口句柄)
  46. 剪辑板数据句柄 = GetClipboardData (全_QQ剪辑板标志)
  47. CloseClipboard ()
  48. .如果真 (剪辑板数据句柄 ≠ 0)
  49.     全局内存块大小 = GlobalSize (剪辑板数据句柄)
  50.     全局内存块 = GlobalLock (剪辑板数据句柄)
  51.     .如果真 (全局内存块大小 ≠ 0 且 全局内存块 ≠ 0)
  52.         消息字节集 = 指针到字节集 (全局内存块, 全局内存块大小)
  53.     .如果真结束

  54. .如果真结束
  55. .如果真 (取字节集长度 (消息字节集) = 0)
  56.     返回 (“”)
  57. .如果真结束
  58. 消息文本 = 到文本 (消息字节集)
  59. 消息文本 = 文本_取出中间文本 (消息文本, “#引号1#引号 filepath=#引号”, “#引号 shortcut=”, , )
  60. 返回 (消息文本)

  61. .子程序 剪辑板_取图片, 字节集
  62. .参数 窗口句柄, 整数型
  63. .局部变量 图片句柄, 整数型
  64. .局部变量 信息, BITMAPINFOHEADER
  65. .局部变量 文件, BITMAPFILEHEADER
  66. .局部变量 hMem, 整数型
  67. .局部变量 lpData, 整数型
  68. .局部变量 hBitmap, 整数型
  69. .局部变量 指针, 整数型
  70. .局部变量 位图, 字节集
  71. .局部变量 bmp, 位图结构_
  72. .局部变量 hdc, 整数型
  73. .局部变量 私画布句柄, 整数型

  74. OpenClipboard (窗口句柄)
  75. 图片句柄 = GetClipboardData (2)
  76. CloseClipboard ()
  77. .如果真 (图片句柄 = 0)
  78.     返回 ({  })
  79. .如果真结束
  80. .如果真 (取对象属性_ (图片句柄, 28, bmp) = 0)
  81.     返回 ({  })
  82. .如果真结束
  83. 信息.biSize = 40
  84. 信息.biWidth = bmp.位图宽度
  85. 信息.biHeight = bmp.位图高度
  86. 信息.biPlanes = 1
  87. 信息.biBitCount = 24
  88. 信息.biCompression = 0
  89. 信息.biSizeImage = (bmp.位图宽度 × 24 + 31) ÷ 8 × bmp.位图高度
  90. 信息.biXPelsPerMeter = 0
  91. 信息.biYPelsPerMeter = 0
  92. 信息.biClrUsed = 0
  93. 信息.biClrImportant = 0
  94. hdc = GetDC (0)
  95. 私画布句柄 = CreateCompatibleDC (hdc)
  96. hMem = GlobalAlloc (位或 (0, 64), 信息.biSizeImage)
  97. lpData = GlobalLock (hMem)
  98. GetDIBits (私画布句柄, 图片句柄, 0, 信息.biHeight, lpData, 信息, 0)
  99. 文件.bfType = 19778
  100. 文件.bfReserved1 = 0
  101. 文件.bfReserved2 = 0
  102. 文件.bfSize = 14 + 40 + 信息.biSizeImage
  103. 文件.bfOffBits = 14 + 40
  104. 指针 = VirtualAlloc (0, 54 + 信息.biSizeImage, 4096, 4)
  105. 拷贝内存_位图文件头 (指针, 文件, 14)
  106. 拷贝内存_位图信息头 (指针 + 14, 信息, 40)
  107. 拷贝内存_位图数据 (指针 + 54, lpData, 信息.biSizeImage)
  108. 位图 = 指针到字节集 (指针, 54 + 信息.biSizeImage)
  109. VirtualFree (指针, 0, 32768)
  110. DeleteDC (私画布句柄)
  111. ' 本源码来自易语言资源网(www.5a5x.com)
  112. 返回 (位图)

  113. .子程序 文本_取出中间文本, 文本型, 公开, 比如:欲取全文本为“12345”,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”,
  114. .参数 欲取全文本, 文本型, , 比如:欲取全文本为 12345
  115. .参数 前面文本, 文本型, , 3的前面为“2”,引号直接用 #引号,如:"<font color=#引号red#引号>"
  116. .参数 后面文本, 文本型, , 3的后面为“4”,引号直接用 #引号,如:"<font color=#引号red#引号>"
  117. .参数 起始搜寻位置, 整数型, 可空, 可空,这里是指搜寻 参数二 前面文本 的开始位置
  118. .参数 是否不区分大小写, 逻辑型, 可空, 为真不区分大小写,为假区分。
  119. .局部变量 局_前面文本位置, 整数型
  120. .局部变量 局_后面文本位置, 整数型
  121. .局部变量 局_前面文本, 文本型
  122. .局部变量 局_后面文本, 文本型

  123. 局_前面文本 = 子文本替换 (前面文本, “#引号”, #引号, , , 真)
  124. 局_后面文本 = 子文本替换 (后面文本, “#引号”, #引号, , , 真)
  125. 局_前面文本位置 = 寻找文本 (欲取全文本, 局_前面文本, 起始搜寻位置, 是否不区分大小写)
  126. .如果真 (局_前面文本位置 ≠ -1)
  127.     局_前面文本位置 = 局_前面文本位置 + 取文本长度 (局_前面文本)
  128. .如果真结束
  129. 局_后面文本位置 = 寻找文本 (欲取全文本, 局_后面文本, 局_前面文本位置, 是否不区分大小写)
  130. .如果真 (局_前面文本位置 = -1 或 局_后面文本位置 = -1)
  131.     返回 (“”)
  132. .如果真结束
  133. 返回 (取文本中间 (欲取全文本, 局_前面文本位置, 局_后面文本位置 - 局_前面文本位置))
复制代码
回复

使用道具 举报

结帖率:89% (8/9)
 楼主| 发表于 2018-2-3 12:37:22 | 显示全部楼层   河南省郑州市
  1. .版本 2

  2. .DLL命令 OpenClipboard, 整数型, "user32", "OpenClipboard", 公开, 打开剪辑板
  3.     .参数 句柄, 整数型

  4. .DLL命令 GetClipboardData, 整数型, "user32", "GetClipboardData", 公开, 剪辑板取数据句柄
  5.     .参数 wFormat, 整数型

  6. .DLL命令 GlobalSize, 整数型, , "GlobalSize", 公开, 返回全局内存块大小
  7.     .参数 hMem, 整数型

  8. .DLL命令 GlobalLock, 整数型, "kernel32", "GlobalLock", 公开, 锁定内存对象并返回一个指针
  9.     .参数 hMem, 整数型

  10. .DLL命令 CloseClipboard, 整数型, "user32", "CloseClipboard", 公开, 剪辑板关闭

  11. .DLL命令 RegisterClipboardFormat, 整数型, "user32", "RegisterClipboardFormatA", , 登记新的CLIPBOARD格式
  12.     .参数 lpString, 文本型

  13. .DLL命令 EnumClipboardFormats, 整数型, "user32", "EnumClipboardFormats"
  14.     .参数 wFormat, 整数型

  15. .DLL命令 DragQueryFileA, 整数型, "shell32.dll", "DragQueryFileA"
  16.     .参数 hDrop, 整数型
  17.     .参数 iFile, 整数型
  18.     .参数 lpszFile, 文本型
  19.     .参数 cch, 整数型

  20. .DLL命令 lstrcpyn_字节集, 整数型, "kernel32.dll", "lstrcpyn", 公开, 字节集
  21.     .参数 欲取其指针, 字节集, 传址
  22.     .参数 欲取其指针, 字节集, 传址
  23.     .参数 保留, 整数型, , 0

  24. .DLL命令 取对象属性_, 整数型, "gdi32", "GetObjectA"
  25.     .参数 对象句柄, 整数型
  26.     .参数 数据尺寸, 整数型
  27.     .参数 属性, 位图结构_

  28. .DLL命令 GetDC, 整数型
  29.     .参数 hWnd, 整数型

  30. .DLL命令 CreateCompatibleDC, 整数型
  31.     .参数 hdc, 整数型

  32. .DLL命令 GlobalAlloc, 整数型, "kernel32", "GlobalAlloc", , 在堆中分配内存 
  33.     .参数 wFlags, 整数型
  34.     .参数 dwBytes, 整数型

  35. .DLL命令 GetDIBits, 整数型, "gdi32", "GetDIBits", , 将来自一幅位图的二进制位复制到一幅与设备无关的位图里 非零表示成功,零表示失败。在Windows 95中,返回值是返回的扫描线数量
  36.     .参数 aHDC, 整数型, , 定义了与设备有关位图hBitmap的配置信息的一个设备场景的句柄
  37.     .参数 hBitmap, 整数型, , 源位图的句柄。绝对不能将这幅位图选入设备场景
  38.     .参数 nStartScan, 整数型, , 欲复制到DIB中的第一条扫描线的编号
  39.     .参数 nNumScans, 整数型, , 欲复制的扫描线数量
  40.     .参数 lpBits, 整数型, , 指向一个缓冲区的指针。这个缓冲区将用于装载采用DIB格式的信息,但不取回数据(用ByVal传递零值)
  41.     .参数 lpBI, BITMAPINFOHEADER, , BITMAPINFO,对lpBits DIB的格式及颜色进行说明的一个结构。在BITMAPINFOHEADER结构中,从biSize到biCompression之间的所有字段都必须初始化
  42.     .参数 wUsage, 整数型, , 下述常数之一:;DIB_PAL_COLORS:在颜色表中装载一个16位所以数组,它们与当前选定的调色板有关;DIB_RGB_COLORS:在颜色表中装载RGB颜色;  

  43. .DLL命令 VirtualAlloc, 整数型, "kernel32", "VirtualAlloc", , 保留虚拟页 
  44.     .参数 lpAddress, 整数型
  45.     .参数 dwSize, 整数型
  46.     .参数 flAllocationType, 整数型
  47.     .参数 flProtect, 整数型

  48. .DLL命令 VirtualFree, 整数型, "kernel32", "VirtualFree", , 释放虚拟页 
  49.     .参数 lpAddress, 整数型
  50.     .参数 dwSize, 整数型
  51.     .参数 dwFreeType, 整数型

  52. .DLL命令 拷贝内存_位图数据, , "kernel32.dll", "RtlMoveMemory", ,  
  53.     .参数 pBlock, 整数型
  54.     .参数 缓冲区, 整数型
  55.     .参数 尺寸, 整数型

  56. .DLL命令 拷贝内存_位图文件头, , "kernel32.dll", "RtlMoveMemory", ,  
  57.     .参数 pBlock, 整数型
  58.     .参数 缓冲区, BITMAPFILEHEADER
  59.     .参数 尺寸, 整数型

  60. .DLL命令 拷贝内存_位图信息头, , "kernel32.dll", "RtlMoveMemory", ,  
  61.     .参数 pBlock, 整数型
  62.     .参数 缓冲区, BITMAPINFOHEADER
  63.     .参数 尺寸, 整数型

  64. .DLL命令 DeleteDC, 逻辑型
  65.     .参数 hdc, 整数型
复制代码
回复

使用道具 举报

结帖率:89% (8/9)
 楼主| 发表于 2018-2-3 12:37:38 | 显示全部楼层   河南省郑州市
  1. .版本 2
  2. .支持库 spec

  3. .程序集 窗口程序集_窗口1

  4. .子程序 _图片框1_鼠标右键被放开, 逻辑型
  5. .参数 横向位置, 整数型
  6. .参数 纵向位置, 整数型
  7. .参数 功能键状态, 整数型
  8. .局部变量 局_类型, 整数型
  9. .局部变量 局_文件列表, 文本型, , "0"
  10. .局部变量 局_图片路径, 文本型
  11. .局部变量 局_图片字节集, 字节集

  12. 局_类型 = 剪辑板_取类型 (取窗口句柄 ())
  13. 调试输出 (局_类型)
  14. 局_图片路径 = “”
  15. 局_图片字节集 = {  }
  16. .判断开始 (局_类型 = 15)  ' 复制的文件列表
  17.     .如果真 (剪辑板_取复制文件列表 (取窗口句柄 (), 局_文件列表) > 0)
  18.         局_图片路径 = 局_文件列表 [1]
  19.     .如果真结束

  20. .判断 (局_类型 = 49161)  ' QQ聊天框复制的消息
  21.     局_图片路径 = 剪辑板_取QQ复制图片路径 (取窗口句柄 ())
  22. .判断 (局_类型 = 8)  ' QQ聊天框复制的消息
  23.     局_图片字节集 = 剪辑板_取图片 (取窗口句柄 ())
  24. .默认
  25.     信息框 (“不支持复制该方式复制的图片”, #信息图标, “提示”, )
  26.     返回 ()
  27. .判断结束

  28. .如果真 (局_图片路径 ≠ “”)
  29.     局_图片字节集 = 读入文件 (局_图片路径)
  30. .如果真结束
  31. 图片框1.图片 = 局_图片字节集
复制代码
回复

使用道具 举报

结帖率:89% (8/9)
 楼主| 发表于 2018-2-3 12:38:46 | 显示全部楼层   河南省郑州市
之前是取QQ窗口,能改成取任意窗口或者取复制到的文件吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表