2010-06-29 8 views
1

J'ai un logiciel en cours d'exécution sur un périphérique distant qui appelle InternetDial pour établir une connexion et signaler des informations.InternetDial avec INTERNET_AUTODIAL_FORCE_UNATTENDED affiche toujours une boîte de dialogue d'erreur?

La plupart du temps cela fonctionne correctement, mais occasionnellement, une sorte d'erreur survient (mauvais signal, etc.) et malgré l'appel de la fonction avec INTERNET_AUTODIAL_FORCE_UNATTENDED, Windows semble toujours afficher des boîtes de dialogue quand elle ne parvient pas à se connecter. Plutôt ennuyeux cependant, ces boîtes de dialogue sont modales, donc le code se bloque juste.

Je l'ai essayé à peu près toutes les combinaisons d'options sur la configuration du réseau et les moyens d'appeler la routine InternetDial, mais aucun d'entre eux arrêtent cette boîte de dialogue d'apparaître:

m_DResult = InternetDial(NULL, m_staticModemProfile, INTERNET_AUTODIAL_FORCE_UNATTENDED, (LPDWORD) &m_cnx, NULL); 
m_DResult = InternetDial(NULL, NULL, INTERNET_AUTODIAL_FORCE_UNATTENDED, (LPDWORD) &m_cnx, NULL); 
m_DResult = InternetDial(NULL, NULL, INTERNET_DIAL_UNATTENDED, (LPDWORD) &m_cnx, NULL); 
m_DResult = InternetDial(NULL, m_staticModemProfile, INTERNET_DIAL_UNATTENDED, (LPDWORD) &m_cnx, NULL); 

Y at-il un moyen de contourner ce ou une autre façon de me connecter? Je développe sur Vista et XP Embedded si cela fait une différence.

Répondre

1

Je viens de rencontrer ce problème aujourd'hui et ce code ci-dessous a résolu mon problème. Utiliser InternetAutodial plutôt qu'InternetDial

BOOL result = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, NULL); 
Questions connexes