Originariamente inviato da magnifico09
Io non contesto niente.
Se tu rispondi: Non è questo il punto , allora stai contestando.
Almeno, in italiano funziona così.
Originariamente inviato da magnifico09
Tu mi hai detto non ti sei spiegato bene e io ho cercato di rispiegarti.
Hai scritto un sacco di cose, ma se non QUOTI la parte del messaggio a cui rispondi, nessuno è in grado di capire a chi e a cosa ti riferisci.
Per cui se non quoti la parte del messaggio a cui rispondi (come sto facendo io in questo post) è impossibile capire a chi ti rivolgi.
Originariamente inviato da magnifico09
Non è vero che non ho provato ad aumentare la picture.
Allora scrivilo! Scrivi cosa ottieni, che problemi ti da, se da o no errore, se sì dove, etc. etc. etc.
Bisogna strapparti le parole di bocca per aiutarti?
Originariamente inviato da magnifico09
Io ti ho risposto che non posso fare una picture grande come lo shermo. Altrimenti che senso a scusa.
Prima di tutto: non è vero che non si può, si può eccome!
Secondo: nel tuo primo post hai scritto (cito testualmente):
vorrei che in una discreta picturebox mi faccia visualizzare tutto lo schermo compresa taskbar.
La stessa cosa l'hai ribadita nel tuo posto che inizia (infelicemente) con:
Cioè, hai sempre asserito di voler catturare l'intero schermo .Invece adesso scrivi:
che non posso fare una picture grande come lo shermo
Per cui ti suggerisco di 'riflettere' sulle tue idee perchè le tue affermazioni sono nettamente in contrasto (o vuoi tutto lo schermo, o non lo vuoi).
Comunque, per non tirarla lunga, il tuo problema è che imposti arbitrariamente (e nel modo sbagliato) la dimensione di destinazione nell'istruzione:
BitBlt Picture1.hDC, 0, 0, 20000, 20000, hDC, 0, 0, vbSrcCopy
Se vuoi catturare l'intera area dello schermo (come hai ripetutamente chiesto):
1 ) Devi dimensionare il PictureBox sulle corrette dimensioni (come ti avevo suggerito al primo mio post ).
codice:
Picture1.Width = Screen.Width
Picture1.Height = Screen.Height
2 ) Catturi l'area impostando le dimensioni corrette:
codice:
BitBlt Picture1.hDC, 0, 0, Picture1.Width, Picture1.Height, hDC, 0, 0, vbSrcCopy
Se poi vuoi/devi fare altro, allora devi spiegarti come si deve...
Ehm...
per caso: vuoi catturare l'intero schermo, ma poi fare lo stretch dell'immagine catturata?
Nel qual caso devi usare il metodo PaintPicture(), oppure la funzione API StretchBtl().

P.S.
Spero tu abbia capito che il mio comportamento non è e non vuole esseere polemico, ma costruttivo .