IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Comment faire un screenshot/capture d'ecran ?


Sujet :

C++

  1. #1
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut Comment faire un screenshot/capture d'ecran ?
    Je cherche comment faire un screenshot depuis 2 jours mais je trouve pas, j'ai fouillé dans tous le forum sans succès de mon coté quand je tape mes sources.
    Si quelqu'un à réussi, ce serai sympa de sa part de me filer un petit coup de main.

    Merci.
    Bonne soirée et bon week end.

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Quel système et api ?
    Car il n'y a rien de standard pour cela.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Sur xp et l'api, je ne sais pas

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Tu as mal cherché sur google.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #5
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Merci.
    Je vois ce code là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     void CaptureScreen(HWND hWndMain, long Left, long Top, long Width, long Height) 
    { 
        HDC srcDC; 
        HDC trgDC; 
        HBITMAP BMPHandle; 
        DEVMODE *dm; 
     
        srcDC = CreateDC("DISPLAY", "", "", &dm); 
        trgDC = CreateCompatibleDC(srcDC); 
        BMPHandle = CreateCompatibleBitmap(srcDC, Width, Height); 
        SelectObject(trgDC, BMPHandle); 
        BitBlt(trgDC, 0, 0, Width, Height, srcDC, Left, Top, SRCCOPY); 
        OpenClipboard(hWndMain); 
        EmptyClipboard(); 
        SetClipboardData(CF_BITMAP, BMPHandle); 
        CloseClipboard(); 
        DeleteDC(trgDC); 
        ReleaseDC(BMPHandle, srcDC); 
    }
    A quoi sert ici de vider le presse-papier ?
    Et ensuite, j'avais déjà vu ce genre de code mais j'avais pas trouvé comment transformer un HBITMAP en BITMAP afin de l'enregistrer sur le disque dur.

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Couz02 Voir le message
    A quoi sert ici de vider le presse-papier ?
    En fait, dans ce code, le screenshot en envoyé dans le presse papier.

    Tu fait ton screenshot, tu vas dans l'autre appli et tu colles.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Ok et comment le coller afin de l'enregistrer ?

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    En général, c'est quelque chose du genre "click droit/coller" mais cela dépend des applications
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Nan jveux pas copier/coller, jveux que ça s'enregistre automatiquement dès que je clic sur mon bouton pour faire un screenshot.

  10. #10
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Bonjour, voilà j'ai trouvé un autre code qui fait un impr. écran et le met dans le presse papier mais je ne sais toujours pas comment faire pour enregistrer l'image dans un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     HBITMAP BmpHandler;
    BITMAP Bmp;
    keybd_event( VK_SNAPSHOT,0x45,KEYEVENTF_EXTENDEDKEY | 0, 0 );
    Threading::Thread::Sleep(1000);
    OpenClipboard(NULL);
    BmpHandler = (HBITMAP)GetClipboardData(CF_BITMAP);
    CloseClipboard();
    GetObject(BmpHandler, sizeof(BITMAP),&Bmp);
    ===

  11. #11
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Dsl hiko-seijuro j'avais pas vu, je suis nouveau sur le forum, maintenant je mets la balise

    Sinon personne pour me venir en aide ??

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Apres une recherche "HBITMAP to bitmap file" sur google, en 12 secondes j'ai :
    1er lien pas tres explicite mais debut de piste !

    2eme lien qui est l'operation inverse, autre point de depart

    3eme lien bloque a mon boulot mais qui semble prometteur

  13. #13
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Le premier me parle plus mais ils parlent de WriteFile(), il faut pas utiliser CreateFile() plutôt ?

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Lol.
    Je sais pas trop, mais je suis d'avis d'ESSAYER et de pointer du doigt un pb ou un obstacle precis. Effectivement en general un WriteFile suit un OpenFile ou un CreateFile et precede un CloseFile ...

  15. #15
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Sinon tu as la solution avec imageMagick et Magick++

  16. #16
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Tant pis je laisse tomber. Merci quant même de votre aide.

Discussions similaires

  1. [PHP 5.4] Comment faire un screenshot complet d'un utilisateur
    Par zoubila44 dans le forum Langage
    Réponses: 9
    Dernier message: 21/04/2015, 15h44
  2. comment faire une capture d'ecran
    Par loic-black dans le forum Débuter
    Réponses: 4
    Dernier message: 31/03/2014, 10h09
  3. comment faire une capture d'ecran sur une form?
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/08/2007, 19h20
  4. Réponses: 10
    Dernier message: 10/10/2003, 14h25
  5. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo