begin process at 2012 02 10 06:24:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > SCREENSHOOT A DISTANCE

SCREENSHOOT A DISTANCE


 Information sur la source

Note :
8,25 / 10 - par 4 personnes
8,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Classé sous :screen, shot, capture, écran, distance Niveau :Débutant Date de création :25/02/2004 Date de mise à jour :26/02/2004 01:43:29 Vu / téléchargé :14 880 / 1 404

Auteur : LeColonel

Ecrire un message privé
Site perso
Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce programme permet de prendre des screenshoots a distance. Il y a un programme serveur et un programme client. Le serveur se lance sur la machine dont on veut prendre des screenshoots. sur la machine distante (ou la meme pour tester) on entre l'adresse IP de la machine ou le serveur est lance (127.0.0.1 si c'est sur la meme machine) puis on peut commencer a faire des captures d'ecran qui s'affiche dans le client.
Ce programme est un 1er pas. Le but a terme est de realiser petit a petit un programme type VNC qui permet de piloter son pc a distance (utile quand on est loin de chez soi et que l'on veut acceder a son pc "comme si on y etait").
Ce qui sera fait dans les prochains jours:
-flot continu de screenshot pour voir pour regarder ce que l'on fait
-identification login/password pour que tt le monde ne puisse pas se connecter au serveur
-compression des bitmaps (libzip surement) pour meilleur qualite d'image (la j'ai trafiqué le nombre de couleur.. pour pas qu'elle soit trop grosse car ya pas encore de compression)et choix de la resolution (dans cette version les captures sont presentées en 640*480)
-retranscrire les evenements (clavier + souris) effectués dans le cadre du client pour reellement piloter son pc a distance

au final on aura donc un utilitaire complet pour piloter son pc a distance comme si on etait devant, exactement ce que fait VNC. les ameliorations viendront petit a petit et je mettrais ma source a jour.


 Conclusion

Pour faire les captures j'ai utilise ce code:
http://www.codeguru.com/mfc/comments/12803.s html
qui permet de faire des captures d'ecran grace aux MFC.
Je l'ai modifie pour pouvoir justement faire la meme chose mais sans les classes MFC.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip TAQUIN INTELLIGENCE ARTIFICIELLE

 Sources de la même categorie

Source avec Zip SERVEUR MULTITHREAD [LINUX/WIN] par nipepsinicolas
Source avec Zip Source avec une capture SECURE REMOTE SHELL [WIN32] par ganjarasta
Source avec Zip Source avec une capture SUIVI DE PRODUCTION ONDULEUR PHOTOVOLTAÏQUE SOLARMAX par brunovan
Source avec Zip MINICHAT MULTI-CLIENT par wisar
SOCKET CPP par baptchr55

 Sources en rapport avec celle ci

DISTANCE DE JARO-WINKLER par PoulpHunter
Source avec Zip Source avec une capture CAPTURE D'ÉCRAN ET ENVOI PAR MAIL AUTOMATIQUE (VC++ 6, MFC) par Cosak
Source avec Zip Source avec une capture SCREENSHOP - CAPTURE D'ECRAN par bilal
Source avec Zip Source .NET (Dotnet) XSHOT par sebseb42
Source avec Zip BMP FILE DEPUIS HDC EN PUR API (WIN32) par BruNews

Commentaires et avis

Commentaire de LordBob le 26/02/2004 06:48:18

dommage, que utilise les MFC !!!

Commentaire de garslouche le 26/02/2004 09:06:13

Il faut arreter de critiquer les MFC !
La plupart sont de très bonnes classes dans l'immense majorité des cas. On ne trouve nul part ailleurs de classes aussi complètes et intuitives!

LeColonel, je te conseille plutot d'utiliser du jpeg. Tu peux trouver des sources de captures en Jpeg sur codeguru (je m'en suis servi dans ma source "Automatiser des actions V2" avec la fonction CAPTURE) . Si tu ne trouves pas je dois pouvoir t'envoyer le code.

Pour retranscrire les événements de la souris tu risques de rencontrer des problèmes car tu devras tester la position de la souris à intervalle régulier. Du coup des choses comme le glisser-déposer seront certainement difficiles à mettre en oeuvre.

Commentaire de DeAtHCrAsH le 26/02/2004 15:19:16

GARSLOUCHE> Si pour toi utiliser les MFC et se retrouver au final avec un prog qui fait 400ko pour un simple MessageBox, libre a toi... Les MFC donne un aspect genre visual basic au VC++ ... Quel interet si ce n'est de simplifier la tache au apprentis codeur ????
Et la portabilité t'en fait quoi ????

Pour moi MFC et VCL = zéro pointé d'un point de vue programmation !

Si je code c'est pour apprendre.. Si je cherche la simplicité, je ne fais pas du C/C++ mais du VB !

Faut savoir ce que vous rechercher dans la programmation avant d'etre bienlent dans vos paroles !

Sur ce bonne prog all...
A++

SheLL

Commentaire de LeColonel le 26/02/2004 18:27:46

salut je ne suis pas d'accord sur ceux que tu dis sur les MFC certe il y a un seuil a la taille des executables mais passe ce seuil il ne grossit plus bcp. Pour la portabilite d'accord a vrai dire d'habitude j'utilise GTKmm (plus jolie et portable) mais je pense pas que du coup bcp de monde pourrait compiler la source. Je ne connais pas assez bien les MFC pour les defendre mais c assez pratique.de la a tout coder soit meme ce c'est pas le but. si on peut gagner du temps de developpement (comme les interfaces graphiques) pour se concentrer sur les vrais problemes d'une application c mieux. surtout que ce n'est pas bcp plus complique de tout faire a la main, c bien de savoir le faire une fois pour comprendre comment ca marche, apres c une perte de temps

Commentaire de garslouche le 26/02/2004 21:56:25

LeColonel : voici la source dont je t'ai parlé
http://www.codeguru.com/Cpp/G-M/bitmap/capturing/article.php/c4915/

DeAtHCrAsH : Je pense que tu ne sais pas de quoi tu parles! La programmation ce n'est pas manipuler la mémoire et connaitre toutes les API! En particulier en Programmation Orientée Objet les qualités principales d'un programme sont loins d'être l'efficacité ou la taille de l'EXE ! On pense plutot Réutilisabilité, Maniabilité, Facilté de maintenance, ... En cela les MFC (ou équivalents) dépassent de loin toutes les autres bibliothèques que j'ai pu voir, y compris la STL.

"Si je code c'est pour apprendre.. Si je cherche la simplicité, je ne fais pas du C/C++ mais du VB !"  -->  Tu fais ce que tu veux, mais je ne vois aucun interet à ta remarque : laisse les autres programmer utile si ça les chante! Quand au choix de VB plutot que C++, il me semble évident que la couche objet de VB est très insuffisante en comparaison du C++. Et le VB est un EXCELLENT langage pour programmer vite et pour faire des IHM, mais c'est bien là les seuls avantages face au C++ ou au Java.

Commentaire de ptiscripter le 04/03/2004 21:32:46

j'ai un petit probleme, enfin gros quand meme:

Cette application n'a pas pu démarrer car MFC71.DLL est introuvable. La réinstallation ...... bla bla bla.....

je peux le trouver où cette DLL ???

Repondez moi SVP A: SSJneo88@hotmail.com
Merci @+

Commentaire de Stormy le 05/03/2004 22:14:06

Les MFC pourquoi pas? Si cela correspond aux attentes des développeurs. Par contre si l'objectif est de comprendre et de savoir ce qui se passe dans les antres du système, alors là, faut passer à l'assembleur. Un bon vieux compilateur/linker style Tasm 16 bits, ça calme sévère lool Deathy. (je te suggère une thérapie à base d'interruption BIOS) lool ++ à tous!

Commentaire de seito le 14/05/2004 17:25:02

j'ai le même probléme pour l'executionil me dit qu'il faut une dll,
en plus quand j'essai de compiler la source il me retourne deux erreurs

unresolved external symbol __endthreadex
unresolved external symbol __beginthreadex

j'utilise un visual c++ 6.0 comme compilo est ce que tu peux m'aider

Commentaire de nohponex le 20/05/2004 00:18:22

salut ,

vous pouvez trouver les dll manquante ici :
www.dll-files.com

perso il en manquait 3
++

Commentaire de Sumiko le 22/02/2005 20:28:30

LeColonel
je site "c bien de savoir le faire une fois pour comprendre comment ca marche, apres c une perte de temps"

Quoi une perte de temps ??
nan au contraire tu fais t'es propre class avec ce que tu as appris, c'est bien plus simple de comprendre une classe que l'on à créée, que de comprendre celles des autre tu ne crois pas ?

Bonne source dommage MFC.
^_^

Commentaire de victorcoasne le 23/03/2005 13:25:02

Dommage que ça soit en MFC (car celui qui les as pas est bien emmerdé !)

Commentaire de Gy0m le 15/11/2006 17:01:25

Et si l'on veut avoir plusieurs screen shot pris a interval régulier (exemple toutes les 10 secondes), comment peut-on coder cela?

Commentaire de maxtor2 le 07/12/2006 20:23:44

Le truc qui est bidon c'est que l'image est enregistrer sur l'ordi du serveur comment peut on faire pour y remédier?

Commentaire de maxtor2 le 07/12/2006 20:50:36

si vous pouviez me dire comment modifier le code pour que l'image soit supprimé après la capture ou pour quelle soit sauvegardé sur le client. merci

Commentaire de Mamelook le 08/07/2007 00:01:45

MAXTOR2 > Avec la fonction remove("addresse du fichier");

Comment faire pour augmenter la qualiter de l'image, tout en gardant un poid optimal ?

Commentaire de algori le 23/08/2007 16:08:57

>>garslouche
>>les qualités principales d'un programme sont loins d'être >>l'efficacité ou la taille de l'EXE

MDR ! Si j'ai le choix entre un programme qui tourne vite et une bouse qui met 10s pour calculer 100!, mon choix est vite fait.
Pareil pour la taille, si un programme de 400 ko fait la même chose qu'un prog de 4ko, mon choix est vite fait.
Ce sont justement ces qualités là qui priment.
Un client s'en fout que le code soit joli ou pas (de toute façon il ne le voit pas). Ce qu'il veut, lui, c'est justement de l'efficacité.
Si on passe du C++ pour faire du VB -> aucun intérêt.

>> VB est un EXCELLENT langage pour programmer vite... et mal !

Commentaire de victorcoasne le 25/08/2007 11:30:25

Avec VB on programme vite mais le programme lui va pas vite.
En C++, c'est plus long en codage mais le programme va plus vite si on sait optimiser !
Tant qu'on y est si on veut les perfs max, code en ASM !

Commentaire de algori le 27/08/2007 12:18:07

>>si on veut les perfs max, code en ASM

D'accord avec toi, sauf qu'il faut s'y connaitre un minimum question optimisation.

Les compilateurs du genre VC++ donne en général un code bien optimisé. Tu peux tout faire en asm mais je ne pense pas que tu gagneras grand chose. L'asm sera utile pour des fonctions spécifiques (je pense notamment aux fonctions bntrim ou bnstrcpy ,écrites par brunews, qui sont bien plus performantes que leurs homologues) ou pour réduire la taille de l'exe en écrivant le point d'entrée en asm.

Commentaire de garslouche le 29/08/2007 12:31:16

Algori > Ouh... mais tu m'as l'air d'être drôlement hargneux ! Et pas très expérimenté surtout...

1)
"Si j'ai le choix entre un programme qui tourne vite et une bouse qui met 10s pour calculer 100!, mon choix est vite fait"

- Pour ce genre de problème ce n'est pas tant le langage que l'algorithme qui va faire la différence.

2)
"Ce sont justement ces qualités là qui priment.
Un client s'en fout que le code soit joli ou pas (de toute façon il ne le voit pas). Ce qu'il veut, lui, c'est justement de l'efficacité."

- Faux. On voit que tu n'as pas beaucoup d'expérience professionelle. D'une part de nombreux clients demandent un droit de regard sur le code et imposent des bonnes pratiques. Le code passe par des moulinettes avec des critères pré-définis et les clients n'hésitent pas à faire recoder le programme si les critères ne sont pas respectés.
D'autre part je n'ai jamais dit que l'efficacité n'était pas souhaitable. Simplement dans l'immense majorité des projets elle ne pose pas problème grâce aux machines très puissantes qui sont disponibles aujourd'hui.

3)
"VB est un EXCELLENT langage pour programmer vite... et mal !"

- Si tu programmes mal ça te regarde... tu peux coder correctement avec du VB. Mais je t'accorde que la couche objet du VB n'est pas terrible.



De manière générale je maintiens que la modularité et la réutilisabilité du code sont bien plus importants. La raison est simple : lorsque la phase de correction et d'évolution est atteinte les coûts s'en trouvent nettement réduits.

A bonne entendeur...

Commentaire de DxShadow le 05/04/2008 23:51:22 9/10

Super ce code!
9/10 car il prend mal les screenshots... C'est limite visible... Ce serait bien de paramétrer pour prendre en 32 bits et avec les dimensions du client...

Mais sinon, la connexion est rapide et efficace, félicitations!

Commentaire de jaballiwassim le 22/12/2009 09:53:25

salut! .. svp jé le code mais je sais pa comment faire pour le transformer a un programme exécutable !! quel k1 .. le faire é me donne le lien pour téléchargé l'exécutable directement? plzzzz !

Commentaire de DxShadow le 22/12/2009 20:29:05

Il est dedans, l'exécutable :)

Commentaire de victorcoasne le 24/12/2009 01:00:56

Pour transformer un code en exécutable il faut le compiler.
C'est la base de la programmation.
Il existe différents tutoriaux pour te mettre au C++ (ou à un autre langage) mais je ne vais t'énumérer cela ici.

Commentaire de zer000 le 11/05/2010 01:02:06

bonjour

l'exécutable serveur doit être installer sur le poste ou on veut capturer l'écran mais pourquoi quand j'essaye d'installer le server ça marche pas ? (il veut pas s'installer?

Merci

Commentaire de DxShadow le 12/05/2010 17:58:29

D'habitude, une simple ouverture du programme suffit pour démarrer le serveur... Pour peu que le pare-feu autorise les entrées/sorties.

Après, il faut l'IP (Internet ou locale) du poste sur lequel tu as ouvert le serveur, pour se connecter.

A+

Commentaire de zer000 le 13/05/2010 20:27:14

Merci

Mais ça marche pas... j'ai filé le serveur a mon pote a et il a exécuté  pour faire un test et il ma donner son IP internet, mais Erreur de connexion!?

Savez vous pourquoi?

Commentaire de victorcoasne le 13/05/2010 21:39:02

Si il a une box il faut la configurer, il y a un parefeu matériel dedans ;)

Commentaire de zer000 le 15/05/2010 13:44:21

Merci

il faut configurer les 2 box , celle du serveur et client ??

Commentaire de DxShadow le 15/05/2010 14:42:42

Tous ceux qui ont une box lol

Commentaire de zer000 le 16/05/2010 11:45:04

Merci mais moi j'ai pas accès a la box du server... comment faire?

Commentaire de DxShadow le 16/05/2010 13:19:48

Tu demandes au mec... Tu lui donnes les instructions. Sinon, j'pourrais pas t'aider à le faire à son insu, ce serait illicite... Même si je sais comment faire lol

Commentaire de victorcoasne le 16/05/2010 17:21:50

Pas besoin de configurer la box du client car tu n'as aucun port à ouvrir au niveau client (c'est automatique).
Par contre il faut au niveau serveur le faire.
A moins que ton logiciel soit utilisé à des fins illégales, la configuration de la box chez la personne possédant le serveur ne devrait pas poser de problèmes ;)

Commentaire de zer000 le 16/05/2010 17:39:47

Merci victorcoasne  

Sais tu quel port je dois ouvrir (du coté server) et comment ?

PS: j'ai une box numéricable CBV734EW

Commentaire de victorcoasne le 16/05/2010 23:26:19

Dans le code on peut observer la ligne suivante :
addr.sin_port       = htons((u_short)4000);

Donc logiquement c'est le port 4000 qu'il faut ouvrir.
Après la manipulation dépendant des box, celles-ci disposant généralement d'une interface d'administration web simplifiée, et ne possédant pas cette box, je penses que tu n'auras pas de mal à trouver comment faire car c'est assez facile.
Au pire reporte-toi au manuel ou à la documentation fournie par ton FAI.

Commentaire de DxShadow le 16/05/2010 23:30:42

Si j'étais fou et que je m'écoutais pas, j'aurais dit de faire passer le serveur par un proxy, car celui-ci prendrait cela en charge...

... Mais je ne m'écoute pas.
(lol)

Commentaire de victorcoasne le 16/05/2010 23:54:00

Je ne comprends pas le sens de ta phrase mais le proxy est un serveur en lui-même qui agit comme serveur et comme client.
En effet, il écoute des connexions (donc serveur) et il sert de relai pour ces connexions et donc devient client.
Donc passer par un proxy ne résout pas le problème de port car il faudra quand même en ouvrir un au final sur la machine serveur (et/ou la box).

Commentaire de zer000 le 16/05/2010 23:55:51

Ok ! Merci victorcoasne... je vais voir sa sur google .

Une autre question :

Dans le code source du serveur y a t-il un script d'installation silencieux, car quand on installe le serveur.exe il n'y a pas d'interface graphique pour cliquer sur ok, suivant ect .. ?

Commentaire de DxShadow le 16/05/2010 23:59:23

Tu peux ajouter un installateur :)
Intégrer cet exécutable + un LisezMoi dans un installateur grâce à IEXPRESS Wizard (inclu dans Windows: taper IEXPRESS dans Exécuter) ou encore InnoSetup, et le publier à la volée ^^

bonne chance et A+

PS: ce serait cool d'ajouter au client une fonction pour obtenir une liste de ceux qui ont ouvert le serveur. ça simplifierai tout! :D une simple communication à un serveur public dont l'IP est fixe...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

capture d' écran ! [ par vdox05 ] Bonjour,Je voudrais savoir comment on fait pour faire une capture d' écran depuis un programme et l' enregistrer dans un fichier .Merci ;-) Capture d'écran [ par joyeuxlutin ] Bonjour Sur mon application, j'ai un controle (zone de texte à plusieurs lignes). Je peux faire la sauvegarde de ce controle en fichier *.txt.Je désir Capture d'écran [ par joyeuxlutin ] Bonjour Sur mon application, j'ai un controle (zone de texte à plusieurs lignes). Je peux faire la sauvegarde de ce controle en fichier *.txt.Je désir Capture d'écran et envoi de mail [ par jbHTS ] Bonjour tout le monde,je souhaiterai savoir si il existe une fonction permettant de faire une capture d'écran et si vous connaissez des cours en franç Capture écran dans le menu contextuel [ par lunnatick ] Bonjour à tous, je recherche un logiciel de capture d’écran (gratuit de préférence) qui ajoute dans le menu contextuel de Win Screen capture et DirectX8 ? [ par Dani77 ] Est-il possible de faire une capture d'écran même s'il y a un fichier vidéo en train d'execution en ce moment-là? Le problèm de d3d et de la fonction capture video d'un écran [ par micke_II ] Bonjour à tous!Je voudrais capturer mon écran, mais en video (certainement comme le font ce qui mettent des videos sur CS). Est-ce que quelqu'un conna capture écran sous dos plein écran et xp [ par freeman_nerv ] Comment faire pour faire une capture d'écran sous dos lorsque l'on est en plein écran avec xp  ? Lire le backbuffer ? Capture d'écran ? (DirectX 9) [ par supergrey ] Salut, j'aurai besoin de lire chaque octet du backbuffer (de ce qui va etre afficher a l'ecran) dans un programme directx 9. Comment faire? Merci capture de variables sur l'écran [ par nicolovitch ] Bonjour, Je vous explique mon problème, je cherche à récupérer une valeur affichée à l'écran, pour la mettre dans une de mes variables, je m'explique


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales