Interception évenement : connexion internet active.
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009
-
21 sept. 2006 à 19:24
nevaram
Messages postés7Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 1 février 2009
-
1 févr. 2009 à 11:36
Bonjour,
Je cherche à réaliser une fonction qui serait appelée lorsque l'utilisateur est connecté à internet (par exemlpe via internetgetconnectedstate de wininet.dll). Je ne préfère pas la mettre dans un timer, c'est certe une solution simple mais elle est trop coûteuse en performances et pas assez précise. Il faudrait peut-être créer un hook... mais cela nécessiterait une DLL et je ne crois pas que le hook soit approprié pour ce genre d'évenement.
Toutes vos idées sont les bienvenues.
Ce serait pour réaliser un programme de téléchargement qui continue automatiquement lorsque la connexion internet est active.
Merci.
Je le précise, au cas où, le programme est sous windows.
A voir également:
Interception évenement : connexion internet active.
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 21 sept. 2006 à 20:44
cela ne revient pas au meme de faire une internetgetconnectedstate dans un timer?
Bob...
"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009 21 sept. 2006 à 20:50
Bien sûr, et comme ça dans le cas où l'utilisateur ne se connecte pas de la journée, on effectue 20000000 opérations pour rien. Tant pis, mon but était de créer le code le plus optimisé possible mé je vé la jouer "code sale".
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 sept. 2006 à 23:41
internetgetconnectedstate est définitivement à oublier, c'est issu du temps des modems rtc mais ça ne donne absolument plus rien de valable maintenant.
Une tentative de connexion sur un serveur (type ping ou autre) est la seule méthode fiable.
nevaram
Messages postés7Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 1 février 2009 1 févr. 2009 à 11:36
Réponse à moi même:
Je ne sais pas si cette solution est propre ni s'il elle fonctionne chez tout le monde et encore moins s'il elle fonction en CPP ( je l'ai fait en C#).
En fait ma solution utilise le journal systeme
using
System.Diagnostics;
static
void Main(){
foreach (
EventLog log
in
EventLog.GetEventLogs()){