begin process at 2012 05 25 10:09:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

[Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ?

mercredi 22 décembre 2004 à 02:10:13 | [Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ?

kinkey_wizard

Bonjour tout le monde,

Voici une source qui pour l'instant a pour effet de prendre une capture de l'écran (par simulation d'appui sur la touche PrintScreen) et de créer un fichier bitmap "vide" (sans image) à côté.

.386
.model flat, stdcall
option casemap :none

; INCLUDES ET BIBLIOTHEQUES
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
include \masm32\include\rasapi32.inc
include \masm32\include\advapi32.inc
include \masm32\include\shell32.inc
include \masm32\include\user32.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\rasapi32.lib
includelib \masm32\lib\advapi32.lib
includelib \masm32\lib\user32.lib

.data
pathbmp db "c:\masm32\bin\testil.bmp"

.code
start:

Push 0
Push 0
Push 0
Push VK_SNAPSHOT
Call keybd_event ; On appuie sur le touche PrintScreen.

Push 0
Push KEYEVENTF_KEYUP
Push 0
Push VK_SNAPSHOT
Call keybd_event ; On relache la touche PrintScreen.

Push 0
Call OpenClipboard ; On ouvre le presse papier (clipboard).

Push 0
Push FILE_ATTRIBUTE_NORMAL
Push OPEN_ALWAYS
Push 0
Push 0
Push GENERIC_WRITE
Push OFFSET pathbmp
Call CreateFile ; On crée un fichier bitmap.

Call CloseClipboard ; On ferme le presse papier.

Push 0
Call ExitProcess ; On quitte le programme.
end start


Mon problème est que j'aimerais beaucoup savoir s'il serait possible (et si oui COMMENT, merci) d'enregistrer le contenu du presse papier (à savoir la capture d'écran) dans le fichier bitmap.

Je pense que je peux utiliser l'API WriteFile pour cela mais je ne la comprends pas très bien (ou plutôt je ne vois pas comment faire). Si cela peut aider je précise que je peux toujours recuperer le handle du contenu du presse papier avec ceci :
Push CF_BITMAP
Call GetClipboardData


En vous remerciant par avance... ;)
mercredi 22 décembre 2004 à 02:16:33 | Re : [Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ?

kinkey_wizard

Je n'ai pas trouvé le module d'édition des posts, j'ai supposé qu'il n'existait pas ici. Veuillez m'excuser si ce n'est pas le cas.

C'était juste pour une précision : dans le code que j'ai donné au dessus je sais pertinament que le fait d'ouvrir et de refermer le presse papier ne sert à rien. J'ai rajouté cela uniquement en prévision d'une utilité future.

Merci.
mercredi 22 décembre 2004 à 14:41:08 | Re : [Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Code capture d'ecran complet en C ici, tu traduiras en asm.
Il ne faut pas encombrer le clipboard pour faire cela.
http://www.cppfrance.com/code.aspx?id=11128
Version optimisee d'enregistrement refaite ici:
http://www.cppfrance.com/code.aspx?id=11139

ciao...
BruNews, MVP VC++
mercredi 22 décembre 2004 à 16:50:47 | Re : [Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ?

kinkey_wizard

Merci beaucoup BruNews.


Cette discussion est classée dans : include, red, push, lib, masm32


Répondre à ce message

Sujets en rapport avec ce message

[API] Fermer une fenêtre de navigateur ouverte avec une URL. [ par kinkey_wizard ] Bonjour tout le monde, Je vous explique mon problème : je voudais ouvrir une page web (par exemple "http://www.google.fr") dans le navigateur par déf md.dll, comment utiliser md5() ? [ par Noit ] J'ai récupéré la dll sur le site de WiteG(le lien se trouve sur le site asmfr)J'arrive à compiler le programme suivant avec masmmais en débuggant il s masm32, include [ par coockiesch ] Hello!!!Plein de bonne volonté, j'ai dl un tuto pour ASM Win32... Voici mon code:.386.MODEL FLAT, STDCALLOPTION CASEMAP : NONEINCLUDE \masm32\in Plantage incomprehensible [ par Luong ] Bonjour tout le monde,Voila un petit bout de code qui genere un beau plantage sur mon ordi (memory could not be written) sans que je comprenne vraimen Messagebox (niveau débutant) [ par Ulala2 ] Bonjour,je suis en train de créer une dll que je vais invoquer en vb6.Tout marche très bien, sauf pour la fonction messagebox dont n'arrive pas à récu send db to bmp [ par vincent2795 ] bonjour, j' ai un bmp que j' ai mais dans ma source sous forme "DB" je veux le sortir de ma source et le mettre dans un bmp. j' arrive a y sortire du Utilisation d'une Librairie perso avec MASM32 [ par Micro_and_Macro ] Bonsoir à  tous,j'ai créé une  librairie à partir d'une DLL BMP2JPG.dll(de vbfrance) à l'aide de cette url http://win32assembly.online.fr/importlib.ht probleme de simulation de 8086 sur ISIS PROTEUS [ par AZERGUI2 ] Bonjour, j'ai généré le .exe du programme suivant par le MAMSM32 ,mais la simulation ça marche pas au niveau de ISIS PROTEUS !!! il s'agit de tro Serrure codée [ par raphi67 ] Voilà je viens de commencer mon projet donc je l'explique. Il s'agit d'une serrure codée, alors j'ai commencé mon projet avec un monostable au début e débutant besoin d'aide sur programme ... [ par babar34fr ] Bonjour a tous je vient vers vous afin d'avoir un peu d'aide , Débutant en asm , j'ai télécharger le logicie w32dasm ( en parlant de celui-ci , est-ce


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 6,443 sec (3)

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