Quelle est la meilleure façon de régler l'heure de la machine en C#?Régler l'heure de la machine C#
Répondre
Vous aurez probablement besoin d'utiliser l'API Win32 pour le faire, comme je suis assez sûr qu'il n'y a rien cuit dans le cadre:
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME {
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
}
[DllImport("kernel32.dll", SetLastError=true)]
public static extern bool SetSystemTime(ref SYSTEMTIME theDateTime);
Il y a un exemple plus complet à PInvoke.net, le code est un peu dense , mais un extrait simple qui est assez simple à lire et à comprendre est ceci:
SYSTEMTIME st = new SYSTEMTIME();
GetSystemTime(ref st);
// Adds one hour to the time that was retrieved from GetSystemTime
st.wHour = (ushort)(st.wHour + 1 % 24);
var result = SetSystemTime(ref st);
if (result == false)
{
// Something went wrong
}
else
{
// The time will now be 1hr later than it was previously
}
les API Win32 spécifiques pertinentes sont de SetSystemTime, GetSystemTime et la structure SYSTEMTIME.
Juste comme un heads up, vous aurez besoin des autorisations de l'administrateur pour définir l'heure du système. Un utilisateur standard ne peut pas changer l'heure. – Joshua
@Joshua, très vrai, +1 – Rob
Vous avez défini SetSystemTime pour renvoyer un bool mais vérifiez si le résultat == 0. –
Microsoft.VisualBasic.DateAndTime.TimeOfDay = dateTime;
Ajouter une référence de Microsoft.VisualBasic à votre projet S'il vous plaît laissez-moi savoir si une question
- 1. comment régler la minuterie en C#
- 2. Régler la luminosité de l'écran en utilisant C#
- 3. précision de la machine
- 4. Get IP de ma machine C# avec machine virtuelle installée
- 5. Npapi régler la fonction minuterie
- 6. Comment régler la valeur div
- 7. Comment régler la taille de spinner
- 8. Comment régler la taille de JFace ListViewer?
- 9. Régler la taille de l'application flex
- 10. Comment régler la position de Fancybox
- 11. comment régler la sélection actuelle de UIPickerView
- 12. Comment régler la position de l'UIKeyboard
- 13. Comment régler PopUp Taille de la fenêtre
- 14. comment régler la région de GDI HDC?
- 15. Comment régler la hauteur de ListBox auto
- 16. ClickOnce: obtenir MSVCRT C++ DLL sur la machine de l'utilisateur
- 17. Développement de Java, C# et .NET sur la même machine
- 18. Comment régler la taille du terminal?
- 19. Comment savoir Constantes dépendant de la machine
- 20. comment un fichier dll C# sur ma machine puis-je accéder à C# dll de VBScript sur la machine client
- 21. Transfert de fichier machine à machine
- 22. Comment régler l'horloge de l'ordinateur Linux/Mac avec C#/Mono?
- 23. Eteignez-vous la machine par nom de machine?
- 24. comment régler la couleur à la ligne de feuille excel dans C#
- 25. Threading: Régler la visibilité de case à cocher
- 26. classe en C# qui donne les informations sur la machine
- 27. Comment régler la hauteur de la grille jquery?
- 28. Comment régler la pointe de l'outil sur la souris jqGrid?
- 29. Régler la valeur de départ pour la colonne avec autoincrement
- 30. java2pdf, comment régler la hauteur de la cellule
dup? http://stackoverflow.com/questions/204936/set-time-programmatically-using-c – kenny
@kenny: Je ne pense pas ... ça parle de machines à distance. –
Ce commentaire n'est pas un doublon exact, car cette question demande comment faire cela sur une machine distante. –