这个问题好象提过N次了哦
用API函数GETDC取得屏幕的设备句柄,用BITBLT函数将数据拷贝到一个临时的PICBOX,然后用GETBITMAPBITS函数将图象的象素保存到一个数组,再用WINSOCK发送到工作站,再用SETBITMAPBIT还原。,由于数据量较大,传输用PEEKDATA进行!
用API函数GETDC取得屏幕的设备句柄,用BITBLT函数将数据拷贝到一个临时的PICBOX,然后用GETBITMAPBITS函数将图象的象素保存到一个数组,再用WINSOCK发送到工作站,再用SETBITMAPBIT还原。,由于数据量较大,传输用PEEKDATA进行!
可以先SavePicture ,然后用传送文件的办法把BMP传过去。
[email protected]
ReDim bytPixel(i) As Byte
GetBitmapBits picTmp.Image, UBound(bytPixel), bytPixel(0)
lngScrRslX * lngScrRslY 为屏幕分辨率
[email protected]
还有用SETBITMAPBIT还原后,就能直接送入图片框中吗?
vbfly:如果是256色,并是全屏拷贝,数据量惊人,半天传不完;还原后是将句柄赋给图片框,还是直接将数组赋给图片框?
老弟你在这唬人呀,我认为你这方法行不通,有没有其它办法?
我用800*60016位色下本地机测试,是很大,但不是半天,不超过一分,但是你抓图后可以对大小处理嘛
还原可以直接用SetBitmapBits picTmp.Image, UBound(bytPixel), bytPixel(0)
crycoming(瞎编)
老哥有你在,我哪敢呀,不知道你为什么认为我的方法行不通?