ENVOYER COPIE D'ÉCRAN COMPRESSÉE AVEC WINSOCK SANS PASSER PAR DISQUE DUR

logisim Messages postés 49 Date d'inscription mardi 8 mai 2001 Statut Membre Dernière intervention 14 août 2004 - 10 déc. 2002 à 21:59
CsM Skate Messages postés 60 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 20 mai 2007 - 8 juin 2005 à 17:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5302-envoyer-copie-d-ecran-compressee-avec-winsock-sans-passer-par-disque-dur

CsM Skate Messages postés 60 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 20 mai 2007
8 juin 2005 à 17:34
Vraiment nikel, merci !! :)
cs_pepsi Messages postés 63 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 6 janvier 2009
2 juin 2004 à 19:44
Moi je m'intéresse en faite plus a l'apparence de ton bureau ... pi le desing des fenètres .... commment t'as faite pour modifier sa ? ou o n peut trouver des deisings semblable ?
Captain Idiot Messages postés 20 Date d'inscription dimanche 19 août 2001 Statut Membre Dernière intervention 7 juin 2012
16 déc. 2002 à 16:42
Qui serait interressé pour creuser un peu et créer (avec moi) un programme du type VNC ou PC AnyWhere en VB (juste dans le but de se creuser un peu les méninges et de proposer les sources à la communauté, vu qu'un tel programme écrit en VB ne peut rivaliser avec un programme écrit en C ou en C++).
Si y'a des personnes interressées pour m'accompagner dans le développement, je proposerai le projet dans le labo Codes-Sources.
cs_Clem Messages postés 282 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 12 février 2007
13 déc. 2002 à 21:24
ben, en fait je veux dire que dans ta version du code, tu passe par le presse papiers, mais le gars ne peux pas faire de copier coller.
Avec ma modification, on n'utilise pas le presse papiers, mais une copie directe de l'écran grace a l'api BitBlt qui copie une image (ici le bureau complet. On obtient son adresse avec GetDC(0)) vers une picturebox, l'avantage est que ça passe pas par le presse papiers, et c'est rapide en plus !

Chez moi, avec :
- un athlon xp 1.33 Ghz, 256 DDRAM, GeForce 2 en serveur.
- un rézo qui déconne sans arrêt, et qui est hyper lent malgré que c'est du 100mo
- une chose qui est quand même un pentium 200 Hmz avec 80 mo de ram, et une carte graphique S3 Trio64V+ PCI...
ça marche très bien, environ une image par seconde, ce qui est pas mal avec les facteurs présents chez moi.

Ps: Merci bcp king !!
thekingoftheweb Messages postés 68 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 2 décembre 2002
13 déc. 2002 à 21:11
Bon écoute, en tout cas je ne sais pas quesque dit Cl3m mais il faut l'écouter : il c'est jamais trompé ! lol

@+
PS : source super ! 10/10
AraXeen Messages postés 36 Date d'inscription mardi 3 décembre 2002 Statut Membre Dernière intervention 24 juin 2004
13 déc. 2002 à 09:45
Salut Clem,
- Qu'est ce que tu veut dire par "ça bousille le presse papier" ?
- Ce bout de code n'était par prévu pour faire un trojan, mais plutôt
pour faire un soft du type VNC ou PcAnywhere qui ont des vocations plus
louable. Les trojans sont des sources formidables pour connaître les arcanes
de windows mais leurs domaine d'utilisation est douteux.
- Pour la convertion picture <-> array, j'ai opté pour 2 api
(GetBitmapBits et SetBitmapBits) au lieu d'utiliser le memory streaming de
"olelib.tlb" (code beaucoups plus simple et n'utilisant pas de composants
extérieurs)
- L'utilisation du clipboard que tu propose est sympa

Petite parenthèse, j'ai tester le compiler sur 2 pc differents,
- Duron 1300 - 256 Mo SDRAM
- P4 2.4 - 256 DDRAM
The winner is AMD ! 2 fois plus rapide qu' INTEL !!!!
cs_Clem Messages postés 282 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 12 février 2007
13 déc. 2002 à 01:11
C super, mais le seul pb, c que ca bousille le presse papiers, et dans un trojan, c'est pas très discret...
Mais, Cl?m a toujours une solution, et je l'ai trouvée :
Rajoute 3 api :
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long


Rajoutez un picturebox (sans mettre l'autoredraw, ca va plus vite).
et remplacez dans le command3_click :
de Call keybd_event(vbKeySnapshot, 0, 0, 0) à Image1.Picture = Clipboard.GetData(vbCFBitmap) par :


Picture1.Move 0, 0, Screen.Width, Screen.Height
Picture1.Refresh
BitBlt Picture1.hDC, 0, 0, Screen.Width / 15, Screen.Height / 15, GetDC(0), 0, 0, vbSrcCopy


Voilà, c'est tout, ça va plus vite, ça passe pas par le presse papiers, bref, c quasi parfait !!
AraXeen Messages postés 36 Date d'inscription mardi 3 décembre 2002 Statut Membre Dernière intervention 24 juin 2004
11 déc. 2002 à 09:13
--> logisim
c'est compressé en zip
cette dll est utilisé par beaucoup d'éditeur
apple, borland, cisco, microsoft, the gimp, symantec, etc...
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
11 déc. 2002 à 00:29
Super prog ! egalement !
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007
10 déc. 2002 à 22:37
Vraiment un très bon prog très pertinent. Le code est parfaitement modulable et promet de bonnes versions prochaines. Merci. Un bon 9. Encore bravo à toi!
logisim Messages postés 49 Date d'inscription mardi 8 mai 2001 Statut Membre Dernière intervention 14 août 2004
10 déc. 2002 à 21:59
C'est compressé en quoi ?
Rejoignez-nous