capture d'ecran automatique

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
kelly
Messages : 176
Inscription : jeu. 09/sept./2004 16:15

capture d'ecran automatique

Message par kelly »

Qui saurait me dire quel morceau de code mettre dans un programme pour simuler l'appuie de la touche "IMPR ECRAN" afin de copier l'image a l'ecran dans le tampon pour le retransferer plus tard avec "coller" dans un logiciel de dessin ??
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message par Dorian »

Voici un code qui te permet simuler la touche Impr écran :

Code : Tout sélectionner

; English forum: http://purebasic.myforums.net/viewtopic.php?t=3695&highlight=
; Author: PB
; Date: 30. January 2002

#Desk = #True     ; set to #True, if you want screenshot of full desktop
                   ; set to #False, if you want only capture active window
                   
If #Desk = #True      ; make screenshot of full desktop
  keybd_event_(#VK_SNAPSHOT,0,0,0) ; Snapshot of entire desktop
  ; Note: Win 9x needs 1,0,0 for the entire desktop. 
Else                  ; make screenshot of active window
  keybd_event_(#VK_SNAPSHOT,1,0,0) ; Snapshot of current active window.
EndIf

MessageRequester("Message","OK, paste the current clipboard data to your favorite Gfx program to see screenshot.",#MB_ICONEXCLAMATION)

J'espère que c'est ce que tu cherches.
kelly
Messages : 176
Inscription : jeu. 09/sept./2004 16:15

Message par kelly »

C'est pour screenshooté un ecran "OpenScreen(1024,768,32,"name")". Mais helas, ca ne marche pas. Est ce parce qu'il me manque une lib ou parce que G la version 3.91 ou je ne sais koi ????
ps : je n'ai aucun message d'erreur.
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Code : Tout sélectionner

i = 0
Repeat
  Delay(1)
  If GetAsyncKeyState_(#VK_SNAPSHOT) = -32767
    If ExamineDesktops() 
      Ecran_Largeur = DesktopWidth(0) 
      Ecran_Hauteur = DesktopHeight(0) 
      ProfondeurCouleur = DesktopDepth(0) 
    Else 
      End 
    EndIf
    DC = GetDC_(0) 
    CreateImage(0, Ecran_Largeur, Ecran_Hauteur) 
    Dessin = StartDrawing(ImageOutput()) 
    BitBlt_(Dessin, 0, 0, Ecran_Largeur, Ecran_Hauteur, DC, 0, 0, #SRCPAINT | $40000000) 
    StopDrawing() 
    ReleaseDC_(0, DC) 
    SaveImage(0, "D:\Screen"+Str(i)+".bmp", #PB_ImagePlugin_BMP)
    i = i + 1
  EndIf
ForEver
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Répondre