0/5 (6 avis)
Vue 10 295 fois - Téléchargée 1 014 fois
Option Explicit Dim prevX As Single Dim prevY As Single Dim bLock As Boolean Dim iCount As Integer Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub Capture(Optional withVisible As Boolean = False) bLock = True prevX = Me.Left prevY = Me.Top If withVisible Then Me.Visible = False DoEvents Clipboard.Clear Call keybd_event(vbKeySnapshot, 1, 0, 0) While Not Clipboard.GetFormat(vbCFBitmap) DoEvents Wend Picture1.Picture = Clipboard.GetData(vbCFBitmap) If withVisible Then Me.Visible = True Me.Left = prevX Me.Top = prevY Clipboard.Clear bLock = False End Sub Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Load() Call Capture(True) Call RefreshBackGround End Sub Private Sub RefreshBackGround() bLock = True prevX = Me.Left prevY = Me.Top Picture1.Width = prevX + Me.Width + 100 Picture1.Height = prevY + Me.Height + 100 Picture1.Top = -prevY - 330 Picture1.Left = -prevX - 90 bLock = False End Sub Private Sub Timer1_Timer() If bLock Then Exit Sub If Me.Left <> prevX Or Me.Top <> prevY Then RefreshBackGround Else iCount = iCount + 1 If iCount > 3 Then iCount = 0 Call Capture End If End If End Sub
18 avril 2005 à 21:38
JRB
19 oct. 2004 à 13:45
Bon boulot !
22 août 2003 à 16:33
@ +
21 août 2003 à 09:15
En fait , je conseille d'augmenter la valeur max de iCount en fonction du timer pour la capture se fasse max toute les 500 ms.En gros, Icount max = 500/Timer.Interval
20 août 2003 à 19:03
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.