Informations sur vos disques durs (win32)

Soyez le premier à donner votre avis sur cette source.

Vue 15 341 fois - Téléchargée 2 108 fois

Description

Ce programme affiche des information sur vos disques et leurs partitions (système de fichier, taille, numéro de série, secteur de boot). Les disques sont analysés un seule fois, au début de l'exécution; s'il y a des changements si n'apparaîtront pas.
J'avais un petit bug: parfois la partition C: n'est pas reconnue (reconnue, mais pas en tant que C:). Ca arrivait de temps en temps, de manière 'aléatoire'. En fait il s'avère que c'est l'octet 0x41 du secteur de boot de C:\ qui s'amuse à osciller entre 0 et 1. Je comprends pas d'ou ca vient et je sais pas si c'est normal, mais pour éviter le problème je le force à 1.
J'ai beaucoup utilisé le site suivant pour me documenter sur la structure des disques durs:
http://www.bellamyjc.net/

J'ai essayé de faire pas mal de tests mais c'est pas très amnusant de modifier ses partitions sans arrêts, donc ce serait sympa si vous pouviez mz dire si ca donctionne bien pour votre configuration courante. (Il n'y a pas de risque, tous les accès au disque sont en lecture seule)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
7 mars 2011

Attention il ne faut pas lire que l'asm est stupide, mais juste que dans ce cas présent ça n'apporte rien ( à mes yeux ) à part complexifier la lecture de code.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
bnstrcpy => strcpy + tous les strcat de chainage quand besoin.
bnultoa >= ultoa + tous les strcat de chainage quand besoin.
SameSector => memcmp.

Si on allait sur toutes les sources en C#, Java ou autre pseudo code pour commenter que c'est stupide d'utiliser de l'interprté, on aurait vraiment l'air fin...
Messages postés
5
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
7 mars 2011

Bonjour,

J'ai essayé de lire / compiler le programme pour windows xp / mingw.
Premier problème ça compile pas à cause de l'asm ( que je ne sais pas lire, ce qui n'aide pas :( ).
J'ai essayer de convertir le code pour avec la syntaxe GCC mais j'ai des probleme pour inclure les variables dans l'asm.
Bref comme dit plus haut, ca marche (MSVC), mais on y pige rien.
Pour ma part je trouve l'utilisation d'asm totalement absurde dans ce genre d'exemple.
Est il possible d'avoir un code C des fonction en asm s'il te plait?.

Merci,
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Je suis d'accord avec toi. J'ai moi même quelques difficultés à comprendre ce que j'ai écrit quand je remets le nez dedans
Le fait que certaines fonctions soient en assembleur n'est pas grave à mon avis, du moment qu'on sait ce que fait la fonction:
-bnstrcpy(dst, src) copie la chaine src dans dst et retourne un pointeur sur 0 terminal
-bnultoa(n, dst) écrit le nombre n en base 10 dans la chaine dst et retourne un pointeur sur 0 terminal
-SameSector(s1, s2) compare deux zones mémoires de 512 octets et retourne vrai si elles sont identiques, faux sinon
-Il y a d'autres parties en assembleur qui effectivement n'ont rien a faire la
Je mets une nouvelle version sans ces parties
Messages postés
4
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
2 novembre 2006

Ben c'est bien beau tout ça, mais c'est incompréhensible !!!
Moitié assembleur, moitié C... et pas beaucoup commenté !
ça marche, c'est sûr, mais on ne sait pas comment ni pourquoi !
Enfin bon, si j'ai quelques heures à perdre, j'essayerai de comprendre.
Bravo quand même si tu as tout réalisé de A à Z !
Afficher les 16 commentaires

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.