Newsgroup: it.comp.lang.visual-basic
Titolo: Capture screen

Ciao,
dopo aver "rovistato" un pň in internet in compagnia di Google ho
trovato e aggiustato del codice per catturare il desktop e aggiornarlo
ogni tot secondi, una sorta di VNC insomma. Il mio quesito qual č:
come faccio a ottenere lo "screen" (quindi il video diciamo) di un
altro pc in rete? 
Purtroppo non ho trovato niente di interessante in giro.
Grazie.
Andrea.

 Purtroppo non ho trovato niente di interessante in giro.
guarda ci sono 2 strade, o usi le api BITBLT oppure "emuli" la pressione del
tasto stamp con una sorta di subclassing, sono informatoi perche' proprio
ieri ne parlavano in chat ma non mi chiedere d+ che non mi ricordo

tasto stamp con una sorta di subclassing, 
Ecco io sto proprio usando le api BITBLT e ottengo una sorta di VCN ma
dal mio PC! Ho pensato:
-creo eseguibile
-lo installo su PC che mi interessa
-creo applicazione che lancia quell'eseguibile da mio PC
Risualtato:
lancio l'eseguibile ma vedo ancora e solo il mio PC.
Resto in attesa. Grazie.
Andrea.

 lancio l'eseguibile ma vedo ancora e solo il mio PC.
Hmm...
scusa il metodo corretto sarebbe :
- Lanci un client sul PC remoto
- Il client fa una bitmap del suo PC
- Il client la invia a te (ad esempio via tcp/ip) (se proprio vuoi farlo
bene dovresti inviare solo le zone cambiate)
- Il tuo PC riceve la bitmap via rete e la visualizza sul tuo PC
(insomma, sul tuo PC non deve nemmeno esserci la procedura che usa il bitblt
o il tasto print)...
mi sa che hai le idee un po' confuse ancora....

- Il tuo PC riceve la bitmap via rete e la visualizza sul tuo PC
Infatti è ciò che sto tentando di fare!!! Sul mio PC, penso, ci sarà
solo applicazione che attiverà la visualizzazione dell'altro PC.
Ho trovato sul sito della Planet-source un possibile esempio ma non lo
fa scaricare, ti devi iscrivere, allora via che mi iscrivo ma
l'operazione non va abuon fine. Bo.
Grasias lis tes.
Andrea.

On Tue, 08 Jul 2003 13:41:33 GMT, 
andrea....@libero.it
 (Andrea)
wrote:
-----------------
[CUT]
    Set Me.Picture = CaptureScreen()
---------------
a questo punto ho il mio form riempito con ciň che cč sullo sfondo. 
1-Se io salvo l'immagine che ottengo e poi con un altro eseguibile la
richiamo?
2-Come caspita faccio a simulare l'avvio dell'eseguibile su un altro
PC? (non fraintendete, con la Shell, etc., lo faccio, ma per questa
procedura sembra non funzionare!) Bo.
Nenche sul sito Allapi ho trovato niente :-(.
Il tutto lo sto gestendo con la funzione BitBlt (non solo ovviamente).

 procedura sembra non funzionare!) Bo.
devi lanciare cosa da dove e su cosa ? cioe' vuoi aprire il solitario DEL
server DAL tuo ?

server DAL tuo ?
Probabilmente non riesco a farmi capire.
In sintesi:
devo costruire una sorta di VNC (il visualizzatore che consente di
interagire dalla tua postazione su altri pc) e fin ora sono riuscito a
riempire una form con lo sfondo del MIO pc che si aggiorna etc.
Domanda:
Per vedere gli ALTRI pc che faccio?

 riempire una form con lo sfondo del MIO pc che si aggiorna etc.
(mi rifaccio un punto mentale anche io)
allora bene, VNC funziona cosi: un exe che fa da server e che e' lui che
trasmette tutto, poi un execlient che fa solo da visualizzatore!
Bene partiamo dal server ecco cosa deve fare :
-catturare lo schermo
--inviare la bitmanp
-ricevere in input il mouse e la tastiera del viewer
-settare il puntatore e "scrivere"
Il CLient:
-Manda in output le coordinate del mouse e la pressione dei tasti
-manda in output la tastiera
-visualizza ua bitmap
(fermiamoci qui)
ora analizza i punti,
1) per catturare lo schermo hai detto che ci sei riuscito a farlo sul tuo
pc, bene, sposta il codice al server.exe
2)inviare la bitmap e' relativamente semplice , ci sono esempi di "Chunk"
via winsock gia' fatti in giro, cerca "trasferimento file winsock"
3) catturare il mouse e settarlo ? SetCursorPos e GEtCursorPos + le routine
per la gestione dei tasti
4) la tastiera ? Hook sul client Sendkeys sul server
Sembra che tu abbia tutto ! Hai finito ! ^_^

Sembra che tu abbia tutto ! Hai finito ! ^_^
Ti ringrazio. Ora ho le idee piů chiare.
Andrea.

 Ti ringrazio. Ora ho le idee più chiare.
eh eh certo che verranno altri problemi man mano che sviluppi....
per esempio VNC mi pare che mandi solo l'immaginina sotto il cursore e non
tutto schermo ogni volta, ci hai fatto caso ?
prova in remoto ad aprire un menu col tasto destro, oppure scrivi in una
textbox ... solo quando muovi il mouse ti viene mandata l'immaginina...
credo che in pratica mandi solo un pezzettino di imm con le coordinate e poi
con l'api BitBlt la "appiccica" sopra lo sfondo. poi ogni tanto rimanda
tutto lo sfondo ! (Forse mi sbaglio, cmq ...)