[.net compact framework]planifier l'execution de l'application a une heure donnée

Contenu du snippet

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

A voir également

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.