Capture d'écran et envoi par mail automatique (vc++ 6, mfc)

Soyez le premier à donner votre avis sur cette source.

Vue 17 088 fois - Téléchargée 1 794 fois

Description

Salut !

Voici un petit utilitaire sans prétention, qui permet d'effectuer une capture d'écran, de l'enregistrer au format choisi (PNG, TIF, JPG ou BMP) et de l'envoyer directement par mail (en pièce jointe) via un serveur SMTP.

On peut paramétrer l'email du destinataire (heureusement !), le titre et le message du mail envoyé, le nom et le format du fichier ainsi que le serveur SMTP à utiliser. Tous ces paramètres sont inscrits dans un fichier .INI, comme ça pas besoin de les ressaisir à chaque fois...

Je sais bien qu'il existe déjà une foultitude de softs faisant des screenshots, ainsi qu'une autre foultitude de softs de mailing SMTP, mais j'ai eu beau chercher (bon, j'avoue, que 5 minutes), j'en ai pas trouvé qui faisait les 2 en même temps...
L'idée, c'était d'avoir un soft super simple à utiliser par des débutants (lire : par mes parents), comme ça quand ils ont un problème sur leur PC (lire : deux fois par jour) ils n'ont qu'à cliquer et hop, je reçois un mail avec le screen du problème en question. Sauf quand il s'agit d'un problème de connexion Internet, là j'ai pas encore trouvé l'astuce... :o)

Cette appli s'appuie sur deux excellentes classes développées par des gens qui sont 'achement plus forts que moi :
- CxImage (copyright Davide Pizzolato) pour la gestion des images (source dispo à http://www.codeproject.com/bitmap/cximage.asp)
- CSMTPConnection (copyright PJ Naughter) pour le serveur SMTP (source dispo à http://www.codeproject.com/internet/csmtpconn.asp)
Après tout, pourquoi tout refaire alors que ça marche déjà du tonnerre ??

Pour utiliser la classe CxImage, vous devrez récupérer les librairies suivantes (y'avait pas la place dans le zip pour les mettre) : CxImage.lib, jpeg.lib, png.lib, tiff.lib, zlib.lib.
Ces librairies doivent être placées dans le répertoire CxImage\lib\.
Le plus simple pour lés récupérer, c'est encore d'en récupérer le source (à l'adresse mentionnée ci-dessus) et de lancer les diverses compilations nécessaires... Toutes les infos utiles à ce sujet sont dans le fichier Readme.txt du répertoire CxImage\lib\.

Vous pouvez me mailer si vous n'arrivez pas à récupérer les librairies CxImage, si ça plante (je l'ai testé que sous WinXP), si ça réagit bizarrement, ou si c'est formidable et que vous être trop content ;)

PS : les commentaires dans le code sont en anglais, simplement parce que je dépose aussi cette source en VO... Désolé pour les non-anglophones (y'en a en informatique ??)

Conclusion :


Au fait... J'ai testé le prog sous WinXP, y'a pas de problème, mais je suis bloqué derrière un proxy d'entreprise (je sais, je code au boulot, pas bien...) et je ne peux donc pas essayer le soft avec des serveurs SMTP comme smtp.wanadoo.fr et autres... Quelqu'un pourrait-il essayer et me dire si ça marche ou non ??

> l'appli a été testée avec le serveur SMTP de laposte.net (smtp.laposte.net) et ça marche, c'est cool ! Merci à jb60 pour le feedback.

> NOTE : apparemment y'a un problème avec le format TIFF... Je vais voir ça de plus près quand j'aurai un peu de temps...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
mardi 14 février 2012
Statut
Membre
Dernière intervention
15 février 2012

Bonjour,

Je suis sous Windows XP SP3 j'utilise Visual Studio 2010 Pro
J'ai compilé votre code
J'ai un problème de conversion entre votre VC6 et mon VS 2010
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)

j'ai déjà cherché sur google, ce problème revient souvent lors des conversions,
j'ai cherché ici
http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx

j'ai changé les #define comme ci-dessous , mais cela ne fonctionne pas :

#define _WIN32 0x0502
#define _WIN32_WINDOWS 0x0502
#define NTDDI_WINXPSP3 0x05010300
#define _WIN32_IE 0x0800
#define _WIN32_WINNT 0x0502
#define WINVER 0x0502

j'ai suivi les directives par rapport à

http://msdn.microsoft.com/en-us/library/aa383745.aspx#setting_winver_or__win32_winnt

mais toujours rien ...
Messages postés
1
Date d'inscription
dimanche 10 septembre 2006
Statut
Membre
Dernière intervention
14 octobre 2008

très bon soft fonctionne impec après deux ou trois tests de paramètres.
Une question : est-il possible de l'automatiser par l'ajout de paramètres
de type "ligne de commande" (exemple : screensend /c /e pour capturer et envoyer
lors de l'exécution). Si ce n'est fait ce serait une chouette mise à jour
Messages postés
2
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
8 août 2008

Hye,

Alors j'ai testé avec ma boite outlook, c'est assez aléatoire, j'ai donc vérifié dans mes options freebox, c'est bien décoché. en théorie aucun problème.
néanmoins ça ne fonctionne pas avec laposte chez moi.
Par contre je peux mettre comme expéditeur ma boite la poste et utiliser le smtp de free, tu parles d'une lutte anti spam !
merci néanmoins, je vais creuser ce soucis.
Messages postés
55
Date d'inscription
mardi 16 septembre 2003
Statut
Membre
Dernière intervention
4 août 2008

supersosso,
Je pense avoir la solution à ton problème :

A ce que j'ai compris, ton fournisseur d'accès à internet est free. C'est aussi mon cas. En fait, chez free, par défaut, avec la freebox, les smtp sortant sont restreints.

Je m'explique : depuis ton ordinateur, tu ne peux envoyer un mail qu'avec ton adresse de free (en passant par smtp.free.fr). Ceci doit aussi être vrai avec outlook express, outlook, etc.

Tu peux faire le test : essaye d'envoyer un mail avec outlook et ton compte de laposte. D'après moi ça ne devrait pas fonctionner.

Pour que ça fonctionne, il faut te connecter sur ton compte perso (www.free.fr, puis accès à ton compte avec identifiant et mot de passe). Là, dans les options de ton compte (je ne sais plus trop où tu dois chercher exactement), tu vas pouvoir décocher la case "blocage des smtp sortants". Cette fois ci, ça devrait marcher.

Bon test, et dit moi si ça a résolu ton problème.

Bonne programmation.
Messages postés
2
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
8 août 2008

bonsoir,

Je suis p'être une quiche ... oui p'être j'ai dit ^_^
Le soft marche Nickel avec smtp.free.fr mais pas avec les autre smtp que j'ai essayé (et pourtant j'ai mis de vrais comptes !!!)
J'ai testé wanadoo, gmail, laposte, tiscali, yahoo ... j'ai même testé avec des comptes "pas à moi"
Une tite infos ?
Merci
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.