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++
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.
En tiedä, miten se onnistuu, mutta sen tiedän, että se on törkeää yksityisyyden rikkomista ja siten laitonta.
Kyllähän winapi tarjoaa pikselingettausfunktion, joten siltä pohjalta voi toteuttaa ruudunkaappauksen.
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.
Mahtaisiko onnistua suoraan bitblt:illä kokoruudun kahvasta?
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).
Aihe on jo aika vanha, joten et voi enää vastata siihen.