绝对450分,求VB拖动鼠标截屏的程序

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:42:01
说法很简单:
VB拖动鼠标,在任意座标进行截屏,就好像QQ截屏那样.
截屏后将图像放入富文本框中,点击可另存为图片文件.

知道实现起来比较复杂,所以再次提出这个问题,答完后请再答之前提出的同样一个问题,加起来是450分.

非常感谢.
要求源码.

不要全屏截屏那样的源码,也不必复制网址,那些我大都看过了不行.

44670专家你好,感谢你的代码,这句好像有点问题无法测试:未找到方法或数据成员,为什么呢?还有好像截出来的图跟屏幕不同,可以解决一下吗?
Private Sub Command1_Click()
GetWindowRect ExShape.gethandle, rc
ref Picture2
VB.SavePicture Picture2.Image, "c:\123.bmp"
Unload Me
End Sub

呵呵..我觉得可以先给你思路..我相信你应该自己就能写出来呵..

不知道你注意过没有..当QQ截屏时,你用alt+tab来切换程序试试..呵呵.

它的实现方式是:
1.设定热键.
2.响应热键时,先截屏为图片(仅用户区,无任务栏),然后实际是打开了一个全屏,无边框的窗体.使用PIC显示为刚刚截取的用户区图片
3.PIC的ToolTipText为"按住右键不放选择截图区域"
4.使用API让窗体永远居前,(没有禁止热键,因为可以响应各种热键,包含ctrl+art+del打开任务管理器)
5.在pic的mouse down事件中添加代码..记录起始坐标x1,y1
5.在mouse move事件中根据鼠标位置从刚刚的x1,y1坐标到当前鼠标坐标绘制矩形..(记得让pic的autodraw为flase)
6.在mouse up的事件中记录y1,y2, 出现菜单(菜单功能自添)
7.在mouse 的dblclick事件中,判断是否在x1,y1-x2,y2区域,是的话,取图

完成.

呵呵,代码量应该不大.只是需要多调试,做一些除错处理..

支持你,高分之下必有勇夫!
只有你分数足够高,一定有人做的。

楼主你一共有多少分啊?呵呵

按楼上的说法好象能做,但是如何截屏呢?
如果用sendkey让他截屏,那么又怎么从剪切板中取出来呢?
用bitblt能传图到里面去么?

MyCatchScreen 可鼠标拖拽即可截屏哦。
http://www.downkr.com/soft/2147.html

这样不行吗?
bitblt(getdc(0),...,picture1.hdc....)
再用api搞窗口总是最前,鼠标事件用hook不就行了吗?
我的不是全屏截屏吧!