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 habitué Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 : 32
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Quel système et api ?
    Car il n'y a rien de standard pour cela.

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 : 32
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Tu as mal cherché sur google.

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 : 61
    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
    Points : 50 367
    Points
    50 367
    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.

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 : 61
    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
    Points : 50 367
    Points
    50 367
    Par défaut
    En général, c'est quelque chose du genre "click droit/coller" mais cela dépend des applications

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 habitué Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 habitué Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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 régulier
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 110
    Points
    110
    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 habitué Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

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

  14. #14
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 110
    Points
    110
    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é
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 264
    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 264
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    2
    Par défaut
    Sinon tu as la solution avec imageMagick et Magick++

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    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