Ce bout de code illustre le mécanisme de planification de l'execution d'une application Windows Mobile a une heure donnée.
L'exemple utilise l'API managée CeRunAppAtTime déclarée dans l'assembly coredll
Le code source est écrit en VB.Net
Source / Exemple :
Public Declare Function CeRunAppAtTime Lib "coredll" _
(ByVal AppName As String, ByRef ExecTime As SYSTEMTIME) As Boolean
Public Structure SYSTEMTIME
Dim wYear As Short
Dim wMonth As Short
Dim wDayOfWeek As Short
Dim wDay As Short
Dim wHour As Short
Dim wMinute As Short
Dim wSecond As Short
Dim wMilliseconds As Short
End Structure
'Prendre le path absolu de l'exe de l'application.
Dim FullAppName As String = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase
Dim NewDate As Date
Dim wakeuptime As SYSTEMTIME 'Date de planification.
Private Sub ScheduleApp()
NewDate = DateTime.Now
'Prendre l'heure actuelle et lui ajouter 3 heurs
NewDate = DateAdd(DateInterval.Hour, 3, NewDate)
NewDate = DateAdd(DateInterval.Minute, 0, NewDate)
NewDate = DateAdd(DateInterval.Second, 0, NewDate)
'Remplissage des informations.
With wakeuptime
.wDay = NewDate.Day
.wDayOfWeek = NewDate.DayOfWeek
.wHour = NewDate.Hour
.wMilliseconds = NewDate.Millisecond
.wMinute = NewDate.Minute
.wMonth = NewDate.Month
.wSecond = NewDate.Second
.wYear = NewDate.Year
End With
'Appel de la fonction
If CeRunAppAtTime(FullAppName, WakeUpTime) Then
MessageBox.Show("Planification réalisée avec success")
Else
MessageBox.Show("Erreur")
End If
End Sub
Private Sub CancelSchedule()
'Pour annuler la planification, passez la valeur nothing.
Dim cancelapp as boolean = CeRunAppAtTime(FullAppName, Nothing)
End Sub
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.