IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Mobile .NET Discussion :

Problème setSystemeTime C#


Sujet :

Windows Mobile .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut Problème setSystemeTime C#
    Bonjour,

    Je programme en c# avec le compact framework 2.0 et j'aurais besoin de mettre a jour l'heure systeme de mon appareil mobile. L'appareil est un WinCE5

    J'utilise la fonction SetSystemTime importer de CoreDLL mais a chaque fois que j'appelle la méthode, j'ai une Exception unsupportedExeception.

    Auriez-vous une idée pour me dépanner svp ?

    Merci d'avance.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bonjour

    Je suis très étonné de ton problème, car j'utilise cette fonction afin de m'assurer que mon parc de téléphone est bien à la même heure que le SI. (avec un web service qui donne entre autre la référence horaire).

    Voici un bout de code de test qui modifie l'heure sur le téléphone (concrétement il ajoute 1h 1mn à l'heure courante et met le téléphone à cette heure là); vérifie qu'il fonctionne bien sur tes mobiles. (il suffit de rajouter la classe dans un projet Smart Devis Console, de l'instancier et d'appeler la méthode set() - donc c'est facile à tester).

    Si ça fonctionne, cest donc ton code qui a un problème (typiquement, structure SYSTEMTIME initialisée incomplétement ou mauvaise signature P/Invoke de l'appel à SetSystemTime).

    Dans le cas contraire, ça veut dire que tes mobiles n'acceptent pas la modification de l'heure par programme. (c'est possible, je ne connais pas Win CE 5, j'utilise Windows Mobile 6.5)

    Tu as ce problème sur tous les modèles de téléphone ou seulement sur un modèle en particulier ?

    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
     
     
    class TimeAccess
    {
    private struct SYSTEMTIME
    {
    public short Year;
    public short Month;
    public short DayOfWeek;
    public short Day;
    public short Hour;
    public short Minute;
    public short Second;
    public short Milliseconds;
    }
    [DllImport("coredll.dll")]
    private static extern bool SetSystemTime(ref SYSTEMTIME time);
    public void set()
    {
    DateTime modifiedDt = DateTime.Now.AddHours(1).AddMinutes(2).ToUniversalTime();
    SYSTEMTIME sysDt = newSYSTEMTIME();
    sysDt.Year = (short)modifiedDt.Year;
    sysDt.Month = (short)modifiedDt.Month;
    sysDt.DayOfWeek = (short)modifiedDt.DayOfWeek;
    sysDt.Day = (short)modifiedDt.Day;
    sysDt.Hour = (short)modifiedDt.Hour;
    sysDt.Minute = (short)modifiedDt.Minute;
    sysDt.Second = (short)modifiedDt.Second;
    sysDt.Milliseconds = (short)modifiedDt.Millisecond;
    SetSystemTime(ref sysDt);
    }
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 94
    Par défaut
    Bonjour,

    J'utilise la même méthode que Bluedeep sous WinCe6.

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    Merci pour la réponse je vais tester avec ton code. Mais a mon avis c'est le WinCe que j'utilise qui n'accepte pas la modification de l'heure

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    Ton code est en fait équivalent au mien.

    Ce qui me manque et que je trouve nul part, c'est la façon d'appeler ta méthode set().

    Faut il l'appelera dans un thread a part ou je peux le lancer en cliquant sur le bouton d'une Fenêtre ?

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    J'ai quand même tester avec ton code et cela fonctionne très bien.
    Je te remercie de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo