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

C# Discussion :

[C#] Comment accéder à l'horloge du BIOS ?


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Points : 13
    Points
    13
    Par défaut [C#] Comment accéder à l'horloge du BIOS ?
    Bonjour,

    j'aimerais accéder à l'heure du BIOS et je ne trouve pas l'API correspondante...
    Quelqun connait une solution ?

    Sinon il me semble bien que l'horloge système (l'horloge Windows) n'est pas la même, n'est-ce pas ?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Je ne crois pas qu'il y ai une différence importante entre l'heure de l'horloge interne et celle de l'horloge système. Sinoin (je n'ai pas testé) il mes semble qu'on peut acceder aux info du BIOS par la base de registre (soit l'utilisation de l'Espace de noms Microsoft.Win32 et notamment de la classe Registry)
    Par exemple pour XP la clé à ouvrir devrait être quelquechose de ce genre
    HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    using System;
    using Microsoft.Win32;
     
    //...
      RegistryKey key = Registry.LocalMachine;
      string chemin = @"HARDWARE\DESCRIPTION\System\CentralProcessor\0"
      key = key.OpenSubKey(chemin);
      Object o = key.GetValue("...?...");
       //.. etc
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Points : 13
    Points
    13
    Par défaut eh non
    merci pour la réponse.

    Mais l'horloge n'apparait pas dans cette clé registre... J'ai regardé un peu dans les clés autour et nenni.
    D'ailleurs, je trouverais ça bizarre de voir apparaitre une info qui change toutes les millisecondes dans la base de registre, non ?

    Pour ce qui est de la différence minime entre les deux horloges, ça n'est pas mon soucis. En fait je veux limiter dans le temps une application que je vais distribuer et j'aimerais éviter de me référer à l'heure de Windows car sinon il suffirait à un utilisateur lambda de modifier cette dernière pour gruger ma protection. En se référant à l'horloge BIOS, c'est juste un peu plus sûr.
    Et j'ai bien l'impression que de modifier la date dans Windows n'affecte pas l'horloge BIOS...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    Alors contrairement aux apparances, il y a bien une différence entre l'horloge windows et l'horloge du BIOS.

    Deja elles sont pas codées pareilles, l'horloge windows tient compte du décalage due à l'heure d'été, comme linux, et du décalage GMT, ce qui n'est pas le cas de l'heure du bios.

    Ensuite l'heure du bios est stoquée dans une zone de la flashrom. Malheureusement, étant donné qu'il s'agit de données du BIOS elles sont dans la zone basse de l'adressage mémoire, très en dehors des zones managées.
    Sans parler du fait que là je parle d'adressage en mode réel, mais il ne faut pas oublié que depuis l'avenement de windows 98, on est toujours en mode protégé, et donc l'adressage pour une zone du bios n'est plus direct.
    il y avait égallement l'accès aux infos du bios par le biais des interruptions, mais là aussi avec le mode protégé toute la donne est changée.

    Malheureusement pour toi, je ne me souviens plus trop comment y accèder en mode protégé, et surtout pas dans le cadre d'un programme en C#, donc en code managé.
    Normallement cependant je pense que l'api NT de windows possède quelques fonctions qui sont capable de te donner les infos que tu souhaite, mais bon, ne me demande pas les noms... là je les connais pas.

    j'métais pas posé la question

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par cinemania
    Alors contrairement aux apparances, il y a bien une différence entre l'horloge windows et l'horloge du BIOS.

    Deja elles sont pas codées pareilles, l'horloge windows tient compte du décalage due à l'heure d'été, comme linux, et du décalage GMT, ce qui n'est pas le cas de l'heure du bios.

    Ensuite l'heure du bios est stoquée dans une zone de la flashrom. Malheureusement, étant donné qu'il s'agit de données du BIOS elles sont dans la zone basse de l'adressage mémoire, très en dehors des zones managées.
    Sans parler du fait que là je parle d'adressage en mode réel, mais il ne faut pas oublié que depuis l'avenement de windows 98, on est toujours en mode protégé, et donc l'adressage pour une zone du bios n'est plus direct.
    il y avait égallement l'accès aux infos du bios par le biais des interruptions, mais là aussi avec le mode protégé toute la donne est changée.

    Malheureusement pour toi, je ne me souviens plus trop comment y accèder en mode protégé, et surtout pas dans le cadre d'un programme en C#, donc en code managé.
    Normallement cependant je pense que l'api NT de windows possède quelques fonctions qui sont capable de te donner les infos que tu souhaite, mais bon, ne me demande pas les noms... là je les connais pas.

    j'métais pas posé la question
    tiens çà me fait penser, il n'y aurait pas une API Netbios ou quelquechose d'approchant
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    Netbios est un systeme de protocole réseau ! pas d'accès au données du bios.
    A ne pas confondre, Netbios est un des mécanismes qui entre en jeu dans le partage de données, au sein d'un réseau local "microsoft", comme les imprimantes non réseaux ou encore les répertoires.

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par cinemania
    Netbios est un systeme de protocole réseau ! pas d'accès au données du bios.
    A ne pas confondre, Netbios est un des mécanismes qui entre en jeu dans le partage de données, au sein d'un réseau local "microsoft", comme les imprimantes non réseaux ou encore les répertoires.
    je serais un peu moins bête aujourd'hui. tu vois que c'est possible
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    lol, oui, c'est ca qu'est bien sur developpez.net, on en apprend tous les jours

Discussions similaires

  1. [BIOS] Problème de démarrage avec l'horloge du BIOS
    Par Loup solitaire dans le forum Composants
    Réponses: 15
    Dernier message: 21/08/2014, 13h56
  2. Comment récupérer sa licence Windows 8 dans le bios?
    Par rapetous3 dans le forum Windows
    Réponses: 5
    Dernier message: 09/04/2014, 14h57
  3. COMMENT accès en lecture seul aux logs sqlserver 2008
    Par Rafter dans le forum Administration
    Réponses: 4
    Dernier message: 16/07/2013, 00h58
  4. horloge du bios
    Par philippe V dans le forum Visual C++
    Réponses: 3
    Dernier message: 13/02/2008, 18h41

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