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 :
Je met pStrElapse="60000" (période du timer) donc toutes les secondes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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)
Donc je m'attend à ce que le temps CPU affiché par le Gestionnaire des tâches soit quasi nul
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
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
Or il est de 29% !!!
Que fait-il pendant tout ce temps ???
Merci de vos suggestions
Partager