我这个目的呢...说白了,就是起到监视作用,也类似...木马的远程控制那样吧
有一个服务端,一个客户端
客户端能把图片(当前屏幕)传给服务端.并显示出来!(最好能0.5秒实现一次,能更少更好...呵呵)1\如何能提高速度.(是否要压缩成JPG再传)
2\这样传输能否直接把Image1.Picture的值直接给WINSOCK发出去?
是否把它保存为文件,再读取用十六进制发送去过?
哪个更好?寻找速度最快,质量较好的方案/方法!提供方案.提供代码更好为好!呵呵........求助!

解决方案 »

  1.   

    http://search.csdn.net/Expert/topic/611/611323.xml?temp=.2860529
      

  2.   

    http://community.csdn.net/Expert/topic/3209/3209104.xml?temp=6.086367E-02
      

  3.   

    http://www.aivisoft.net/Zyl910/NetPicTran.zip楼上的,这个....好像下载不了噢!有没有更换地址?
      

  4.   

    我觉得...可能是保存为文件,再用WINSOCK发出去吧!如果转换为JPG过程可能需要0.5秒左右...再加上送输.可能会相差得几秒噢!嘿嘿!
      

  5.   

    首先把截取屏幕图片 改变他的大小,一般800*600, 然后减少 图片的 颜色位数,一般256色差不多了,再把图片压缩(可以转化为 jpg 或者 gif的格式) 然后发送。
      

  6.   

    //那如何截到当前包括鼠标指针的图呢?有点不解噢
    Option ExplicitPrivate Type POINTAPI
        x As Long
        y As Long
    End Type
    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 Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
    Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
    Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
    Private Declare Function GetCursor Lib "user32" () As LongPrivate Sub Command1_Click()
        Dim hdc As Long, nWidth As Integer, nHeight As Integer, nScreenWidth As Integer, nScreenHeight As Integer
        Dim CurPos As POINTAPI
        Dim Cur As Long
        Me.Hide
        DoEvents
        Picture1.AutoRedraw = True
        hdc = GetDC(0)
        nScreenWidth = Screen.Width
        nScreenHeight = Screen.Height
        Picture1.Width = nScreenWidth
        Picture1.Height = nScreenHeight
        nWidth = nScreenWidth / Screen.TwipsPerPixelX
        nHeight = nScreenHeight / Screen.TwipsPerPixelY
        BitBlt Picture1.hdc, 0, 0, nWidth, nHeight, hdc, 0, 0, vbSrcCopy
        Me.Show
        GetCursorPos CurPos
        Cur = GetCursor
        DrawIcon Picture1.hdc, CurPos.x - 10, CurPos.y - 10, Cur
        ReleaseDC 0, hdc
        Picture1.AutoRedraw = False
    End Sub
      

  7.   

    TO baoaya(点头) 首先把截取屏幕图片 改变他的大小,一般800*600, 然后减少 图片的 颜色位数,一般256色差不多了,再把图片压缩(可以转化为 jpg 或者 gif的格式) 然后发送。
    ------------------
    截屏解决了,改变大小所用的API是?
    另一个关键,减少颜色的位数...不知如何办...嘿嘿.转JPG到知道..
      

  8.   

    嘿嘿,256色的...找着了...但我找到的是通过已知hDC(picturebox)的必须是当前窗体,全屏的...才能转换256不知道有否,直接目录如
    BmpTo256(原目录,目标目录)这样就能转换的.不需要经常其它控件(PictureBox)调,直接转换的方法呢??改变大小是?