Vitesse de transfert/connexion

toniokoch Messages postés 10 Date d'inscription samedi 9 février 2002 Statut Membre Dernière intervention 7 avril 2002 - 6 avril 2002 à 14:47
cs_Pof Messages postés 78 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 7 février 2006 - 2 oct. 2004 à 20:49
Bonjour,
Je fais un compteur internet et je voudrai indiquer la vitesse à laquelle je suis connecté, le nombre d'octets envoyés et reçus.
Comment puis-je récupérer ces informations (en temps réel)?
Merci

3 réponses

toniokoch Messages postés 10 Date d'inscription samedi 9 février 2002 Statut Membre Dernière intervention 7 avril 2002
7 avril 2002 à 19:14
J'ai trouvé :-)
vitesse :
RasGetConnectionSpeed
Octets envoyés :
ReadLong(HKEY_DYN_DATA, "PerfStats\StatData", "Dial-Up Adapter\BytesXmit", 0)
octets reçus :
ReadLong(HKEY_DYN_DATA, "PerfStats\StatData", "Dial-Up Adapter\BytesRecvd", 0)
--------------------------------------------
Public Function ReadLong(ByVal lRootKey As Long, strPath As String, strValueName As String, lDefault As Long) As Long
On Error Resume Next
'read a long from the registry

Dim hKey As Long, lResult As Long, lData As Long
lResult = RegOpenKeyEx(lRootKey, strPath, 0, KEY_QUERY_VALUE, hKey)
If lResult = ERROR_SUCCESS Then
lResult = RegQueryValueEx(hKey, strValueName, 0&, REG_DWORD, lData, LenB(lData))
If lResult = ERROR_SUCCESS Then
ReadLong = lData
Else
ReadLong = lDefault
End If
Call RegCloseKey(hKey)
End If
End Function

--------------------------------------------
Const KEY_QUERY_VALUE = &H1
Const REG_DWORD = 4
--------------------------------------------
0
cs_Tidus Messages postés 78 Date d'inscription dimanche 21 avril 2002 Statut Membre Dernière intervention 7 juillet 2003
1 août 2002 à 20:41
C bien ca ! Mais il faut peut-être déclarer les APIs aussi, parceque sous WIndows XP, tu peux le chercher le fichier win.tlb pour t'en dispenser !

Problème de ta méthode : chaque accès à la base de registre est un accès disque, et donc, si tu le fais en temps réel, ca va te faire un accès disque par milliseconde (minimum de VB ... c pas vraiment du temps réel mais bon), et ca bouffera pour un processeur à 500MHz par exemple les 30 à 50% des cycles processeur de l'UC. C'est gênant, non ?

Tidus - The Master Of The Games
0
cs_Pof Messages postés 78 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 7 février 2006 1
2 oct. 2004 à 20:49
Tidus>> Ben non, justement la clé HKEY_DYN_DATA est stockée dans la RAM, et ensuite elle n'existe plus sous windows XP, ce qui fait que je ne sais pas trop ou trouver ces infos :/
0
Rejoignez-nous