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 ?
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 ?
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
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...
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'approchantEnvoyé 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 possibleEnvoyé par cinemania
lol, oui, c'est ca qu'est bien sur developpez.net, on en apprend tous les jours
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager