Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Ruudun kaappaus verkon yli

Sienessä [01.10.2006 19:33:01]

#

Oon tehny serverin ja cilentin pilailu mielessä. Oon laittanu cd aseman avaus/sulkemis komennon ja kaikkee muuta hauskaa...eli millä tavalla sais näkyviin kaverin ruudun, että näkis mitä se härrää.

c++

kayttaja-4976 [01.10.2006 19:49:02]

#

VB:ssä oli joku funktio ruudun nappaamiselle, mutta C++:ssa en sellaista usko aivan heti löytävän. Windows yrittää suojata sen desktopin aika huolellisesti.

Gwaur [01.10.2006 19:49:24]

#

En tiedä, miten se onnistuu, mutta sen tiedän, että se on törkeää yksityisyyden rikkomista ja siten laitonta.

rndprogy [01.10.2006 20:09:06]

#

Kyllähän winapi tarjoaa pikselingettausfunktion, joten siltä pohjalta voi toteuttaa ruudunkaappauksen.

Metabolix [01.10.2006 22:08:51]

#

HWND hwnd = 0; // Koko ruudun kahva
HDC hdc = GetDC(hwnd); // Sen piirtopinta
COLORREF c = GetPixel(hdc, 0, 0); // Otetaan pikseli (0, 0)
SetPixel(hdc, 0, 0, 0); // Laitetaan se mustaksi
ReleaseDC(hwnd, hdc); // Vapautetaan piirtopinta

Vähän for-silmukkaa ja semmoista pientä, niin helpostihan tuo lähtee. Jokin BITMAP-säätö ja GetDIBits olisi varmasti vielä tuhat kertaa nopeampi.

Meitsi [01.10.2006 22:29:39]

#

Mahtaisiko onnistua suoraan bitblt:illä kokoruudun kahvasta?

Metabolix [01.10.2006 23:59:40]

#

Jaa, mitähän sinä sillä BitBlt:llä, kun sillä ei paljon verkon yli tavaraa siirretä? Eihän sillä saa kuin piirreltyä HDC:ltä toiselle, mistä ei nähdäkseni ole juurikaan hyötyä tässä (paitsi kuvan kopioinnissa sitä BITMAP-säätöä varten, se kun muistaakseni edellyttää varsin perusteellisia toimenpiteitä HDC:lle).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta