当前位置:编程学习 > VB >>

VB局域网传图片

首先声明,不是用来做坏事,问过好几个问题,都有前辈说我是做坏事,郁闷!网吧用的!
请先看代码
服务端
Option Explicit
  Dim I     As Long
  Private Declare Function GetDC Lib "user32" ( _
                ByVal hwnd As Long) As Long
  Private Declare Function BitBlt Lib "gdi32" ( _
                ByVal hDestDC As Long, _
                ByVal X As Long, _
                ByVal Y As Long, _
                ByVal nWidth As Long, _
                ByVal nHeight As Long, _
                ByVal hSrcDC As Long, _
                ByVal xSrc As Long, _
                ByVal ySrc As Long, _
                ByVal dwRop As Long) As Long
Private Sub Form_Load()
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock1.GetData data
If data = "jp" Then
 Me.AutoRedraw = True
                BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, _
                                            GetDC(0), 0, 0, vbSrcCopy                                               '抓屏
                

            Winsock1.SendData Me.Image
End If
End Sub
客户端
Private Sub Command1_Click()
Winsock1.Close
Winsock1.RemoteHost = "127.0.0.1"
Winsock1.RemotePort = 12040
Winsock1.Connect
End Sub

Private Sub Command2_Click()
Winsock1.SendData "jp"
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As Image
Winsock1.GetData data

Form1.Picture = data
End Sub

怎么运行后客户端提示不能直接转换,要怎么弄才可以把服务端的图片传到客户端的FORM1上
请帮忙修改下这个代码,谢谢了 --------------------编程问答--------------------

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) 
Dim data As Image 
Winsock1.GetData data 
Form1.Picture = data 
End Sub 
'把data保存为文件,再载入到Form1中...
'另外...Winsock接收数据,可能一次接收不完,需要多次DataArrival事件才接收完成的
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,