SetTimer et Charge machine ?
Bonjour à tous
J'écris un petit exe (VB6) pour assurer la sauvegarde de nos données sur un disque externe.
Pour ce faire, je lance un timer par SetTimer :
Code:
1 2 3 4 5
| Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Call SetTimer(0, TIMER_ID, CLng(pStrElapse), AddressOf Sauve)
Do While True
DoEvents
Loop |
Je met pStrElapse="60000" (période du timer) donc toutes les secondes
Dans la fonction appelée, je vérifie à quelle heure j'effectue la sauvegarde et si j'y suis, je sauvegarde (une fois par jour)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Sub Sauve()
Dim plIntI As Long
Dim pStrFileName As String
Dim pStrDestinationReelle As String
On Error GoTo Errorhandler
If Not pBooDone Then
If Hour(Now) = "12" Then
pStrDestinationReelle = pStrDestination & "\" & GetDateDir
MkDir pStrDestinationReelle
For plIntI = 1 To UBound(pStrSource)
pStrFileName = GetFileName(pStrSource(plIntI))
FileCopy pStrSource(plIntI), pStrDestinationReelle & "\" & pStrFileName
Next
pBooDone = True
End If
Else
If Hour(Now) <> "12" Then
pBooDone = False
End If
End If
Sortie:
Exit Sub
Errorhandler:
If Err = 75 Then
Resume Sortie
End If
End Sub |
Donc je m'attend à ce que le temps CPU affiché par le Gestionnaire des tâches soit quasi nul
Or il est de 29% !!!
Que fait-il pendant tout ce temps ???
Merci de vos suggestions