Modification date de windows en vb.net et vba

Contenu du snippet

La modification de la date courante du système en vb.net est tout sauf simple ! Et cela se complique encore plus lorsqu'on veut uniquement changer par exemple l'année...

On trouve partiellement une réponse avec le snippet : http://www.codyx.org/snippet_modifier-date-systeme_787.aspx
mais on ne pas en changer qu'un seul paramètre... Ce qui ne réponds pas complétement à mon problème.

La solution que j'ai trouvé, c'est tout simplement de passer par la commande DOS "date", comme on le ferait manuellement. C'est pas très gracieux, mais présente l'avantage de la simplicité...

Le code qui suit pourra aussi servir de modèle pour passer une commande DOS en VB.NET (ici en mode Console).

En annexe, j'inclus aussi un exemple en code VBA, qui réalise donc la même chose mais la syntaxe semble assez peu connue...

Source / Exemple :


' ====== EN VB.NET ======

Module Module1

    Sub Main()

        Dim p As New Process

        ' Récupère la date courante
        Dim str As String = DateTime.Now.Day & "/" & DateTime.Now.Month & "/" & DateTime.Now.Year

        ' Change
        p.StartInfo.FileName = "cmd.exe"
        p.StartInfo.Arguments = " /C date 01/01/2011 "
        p.StartInfo.CreateNoWindow = False
        p.Start()
        p.WaitForExit()
        p.Close()

        ' Lance application
        Process.Start("PokerStove.exe")

        ' Remet la date courante
        p.StartInfo.Arguments = " /C date " & str
        p.Start()
        p.WaitForExit()
        p.Close()

    End Sub

End Module

'
' ANNEXE
' ====== EN VBA ======
Sub ModifDate()
Date = #31/12/2011#
Time = #12:59:12 AM# 'ou PM
End Sub

Conclusion :


J'ai eu besoin de ce code comme "lanceur à mettre dans le répertoire" du logiciel gratuit "PokerStove" dont l'auteur a codé en dur une limitation d'utilisation en fonction de l'année. Dès le passage à 2012, on a un message d'erreur. La solution étant de reculer son horloge à 2011... L'auteur à depuis remis une nouvelle version pour éviter cette contrainte (Version 1.24). Mais, il suffit d'avancer son horloge pour constater qu'il l'a encore bridé pour 2014... -);

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.