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

Langage Delphi Discussion :

W10 : modifier DateTime en programmation


Sujet :

Langage Delphi

  1. #1
    Membre régulier

    Homme Profil pro
    Direction financière et formateur en gestion et contrôle de gestion
    Inscrit en
    Mai 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Direction financière et formateur en gestion et contrôle de gestion
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2003
    Messages : 185
    Points : 119
    Points
    119
    Par défaut W10 : modifier DateTime en programmation
    Bonjour à tous,
    Sous Windows 10, je cherche à modifier la date et l'heure système mais ... je coince, rien de ce que j'essaye ne fonctionne.
    (j'ai désactivé le réglage de l'heure automatique et la détection du fuseau horaire automatique)

    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
      SystemTime: TSystemTime;
      NewTime, NewDate: string;
    begin
      NewTime := '12:00:00';
      NewDate := '01/01/2006';
      DateTimeToSystemTime(StrToDate(NewDate) + StrToTime(NewTime), SystemTime);
      SetLocalTime(SystemTime);
      // Tell windows, that the Time changed!
      PostMessage(HWND_BROADCAST, WM_TIMECHANGE, 0, 0); 
    end;
    sans succès

    Ceci (j'ai un MaskEdit formaté !99/99/0000 90h 00' 00";1;_) :
    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
    var
       t:_SYSTEMTIME;
    begin
         GetLocalTime(t);
         if TryStrToDateTime(MaskEdit2.Text,DateTimeValue) 
         then begin
                 t.wDay:=StrToInt(Copy(MaskEdit2.Text,1,2));
                 t.wMonth:=StrToInt(Copy(MaskEdit2.Text,4,2));
                 t.wYear:=StrToInt(Copy(MaskEdit2.Text,7,4));
     
                 t.wHour:=StrToInt(Copy(MaskEdit2.Text,12,2));
                 t.wMinute:=StrToInt(Copy(MaskEdit2.Text,16,2));
                 t.wSecond:=StrToInt(Copy(MaskEdit2.Text,20,2));
                 t.wMilliseconds:=0;
                 SetLocalTime(t);
         end;
    end;
    sans plus de succès

    Si vous avez une idée (brillante) je suis preneur
    Delphi 10.4.1 - Lazarus
    Utilisation de la VCL

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Un utilisateur standard ne pourra pas changer l'heure, il faut une élévation de privilèges.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2009
    Messages : 322
    Points : 310
    Points
    310
    Par défaut
    Andnotor a tout à fait raison.

    Mais si tu trouves une façon automatique, je suis preneur...

  4. #4
    Membre régulier

    Homme Profil pro
    Direction financière et formateur en gestion et contrôle de gestion
    Inscrit en
    Mai 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Direction financière et formateur en gestion et contrôle de gestion
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2003
    Messages : 185
    Points : 119
    Points
    119
    Par défaut
    hmmm ... je suis administrateur du système m'arrange pas comme réponse et si on se met en mode super administrateur ? (ah ben j'ai essayé net user Administrator /active:yes et il me répond "le nom d'utilisateur est introuvable" ... bon, pas de super admin sur mon pc)
    Delphi 10.4.1 - Lazarus
    Utilisation de la VCL

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Citation Envoyé par patrice@ Voir le message
    hmmm ... je suis administrateur du système m'arrange pas comme réponse
    Les membres du groupe administrateur ne sont que de simples utilisateurs tant qu'il n'y a pas eu d’élévation. La seule différence est qu'ils n'ont pas besoin de s'authentifier à l'aide d'un autre compte puisqu'ils font déjà partie du bon groupe, ils leur suffit de quittancer la demande d'élévation.

    Lance ton programme à l'aide de "exécuter en tant qu'administrateur" pour voir

  6. #6
    Membre régulier

    Homme Profil pro
    Direction financière et formateur en gestion et contrôle de gestion
    Inscrit en
    Mai 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Direction financière et formateur en gestion et contrôle de gestion
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2003
    Messages : 185
    Points : 119
    Points
    119
    Par défaut
    YES! grand merci Andnotor, une manip simple mais ...
    du coup les 2 procédures fonctionnent parfaitement
    Y a t-il un moyen d'automatiser le lancement du programme en mode administrateur ? ou alors de savoir si le programme a été lancé en mode administrateur ?
    Delphi 10.4.1 - Lazarus
    Utilisation de la VCL

  7. #7
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    Bonjour,

    peut être que cet exemple de code pourrait te convenir

    Cordialement,
    @+

Discussions similaires

  1. Modifier un jeu programmer sous DOS
    Par seraphon91 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 06/03/2015, 22h29
  2. [Graphics View] Modifier QTableView sans programmation
    Par khaled87 dans le forum Qt
    Réponses: 4
    Dernier message: 02/01/2014, 13h23
  3. [WD17] Modifier Constante par programmation ?
    Par GiGii dans le forum WinDev
    Réponses: 5
    Dernier message: 05/10/2012, 10h32
  4. Réponses: 10
    Dernier message: 27/06/2007, 17h46
  5. récupere un DateTime du programme Java
    Par 18Marie dans le forum JDBC
    Réponses: 6
    Dernier message: 31/07/2006, 18h13

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