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 :)
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.
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
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 ?
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
Bon travail sinon.
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.