Moniteur réseau

Soyez le premier à donner votre avis sur cette source.

Vue 9 221 fois - Téléchargée 2 179 fois

Description

Simple moniteur réseau utilisant la Dll 'IPHLPAPI.DLL' des API microsoft.

Pour chaque interface réseau, le programme affiche :
- son nom
- son adresse MAC
- sa vitesse
- sa MTU
- le total des données envoyés et reçues
- des diagrammes des taux instantannés de transferts

Conclusion :


Le code contient un petit bug au niveau des progress-bar, je n'ai pas réussi à le démasquer, si quelqu'un le trouve, merci de me le faire savoir :)

Avec plus d'informations, il serait possible d'afficher la totalité des informations disponibles sur chaque interface, mais la documentation microsoft est mal fichu. Les devs microsofts semblent n'utiliser que des types DWORD (longword en delphi) pour les APIs, ce n'est pas genants pour les nombres, mais ils utilisent egalement ce type pour représenter ce qui seraient en fait des booleéens ou encore des types énumérés.

Pour cette raison, certains des infos propres à une interface ne sont pas exploitables avec Delphi (comprends qui pourra ce que je viens d'ecrire :p) ...
Si quelqu'un a des infos sur ce problème, je suis preneur ;)

Pour le code en lui même, j'ai essayé de mettre le maximum de commentaires possibles !
N'hesitez pas si vous avez des questions/commentaires :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
dimanche 29 mai 2005
Statut
Membre
Dernière intervention
29 juillet 2010

Salut,
Merci pour cette source intéressante. Pour le bug des progressbar j'ai la solution avec 3 ans de retard mais bon... : les propriétés Max ou Position d'une TProgressBar sont des integer, si on leur affecte une valeur qui dépasse (ce qui peut être le cas avec DebitUpload ou DebitDownload de type Longword) ça plante !
correction à faire dans l'évènement du timer :

if DebitDownLoad < High(Integer) then
begin
if DebitDownLoad>=(Progress_Download.Max+0.5) then
Progress_Download.Max:=DebitDownload;
Progress_Download.Position:=DebitDownload;
end;
if DebitUpload < High(Integer) then
begin
if DebitUpload>=(Progress_Upload.Max+0.5) then
Progress_Upload.Max:=DebitUpload;
Progress_Upload.Position:=DebitUpload;
end;

@+
TLabel.
Messages postés
2
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
18 novembre 2007

Pas que je sache.

En tout cas ce qui est bizarre c'est que sous Win 2003 je me retrouve avec 2 "MS TCP Loopback interface" dans la combobox.

D'après msdn Win 2003 supporte ces fonctions.
Bizarre bizarre
Messages postés
384
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
7 mai 2009

Le programme utilise les API microsoft de windows XP.
Donc il est probable que celle-ci aient trop changer entre ces deux systèmes pour que ça reste compatible.

N'y a t'il pas sous Windows Server un mode "compatibilité" comme sous Xp ?
Messages postés
2
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
18 novembre 2007

Merci pour l'application!

Mais j'aurais un petit problème. Il n'est pas compatible avec Windows (Home) Server 2003.
Tu aurais une idée, comment je pourrais résoudrea ca?

Merci
Messages postés
25
Date d'inscription
mercredi 18 février 2004
Statut
Membre
Dernière intervention
22 décembre 2009

J'ai aussi le meme probleme que vous, Tprogressbar Hors limites, vraiment pas moyen de corriger le probleme.

Bon travail sinon.
Afficher les 19 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.