joo, mä tein hienon ohjelman joka snappaa kuvan screenistä ja tarkotuksena oli lähettää se winsockilla toiselle samanlaiselle ohjelmalle. Nooh, kuvan tyyppi (IPictureDisp) on niin ärsyttävä että sitä ei voi helposti lähettää, se ku on otus ja sillä on vaikka mitä arvoja. Mitenkä voisi siis lähettää PictureLootan kuvan WinSockilla toiselle koneelle niin että se toimisi?
Älä siirrä PictureBoxia vaan pelkästään kuvan pikselit, joiden selvittäminen onnistuu ihan vanhalla kunnon Point-funktiolla. Kuva tosin kannattaisi pakata jotenkin, jos sen koko on esimerkiksi koko kuvaruudullinen. Pystyisitkö tallentamaan kuvaa millään esim. GIF-muotoon ja lähettämään sitä vasta sitten?
ööh... vaikee. mite ku mulla on tällane koodi:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Const myScreen = 0 Const myForm = 1 Private Sub snap_Click() dim kuva as IPictureDisp keybd_event vbKeySnapshot, myScreen, 0&, 0& Set kuva = Clipboard.GetData(vbCFBitmap) wössi.SendData kuva 'wössi on mun winsock.... ja tää ei toimi End Sub
Ööh, siis se datan vastaanotto ei toimi...
Aihe on jo aika vanha, joten et voi enää vastata siihen.