2010-04-06 3 views
1

J'écris un programme dans lequel un utilisateur peut entrer une liste d'URL à charger et le programme parcourt les URL pour les charger les unes après les autres dans une instance IE, comme un diaporama de site Web. Le problème est que lorsque j'entre une URL nécessitant une vérification d'appartenance, IE affiche l'invite de connexion et fige pratiquement la fenêtre IE jusqu'à ce que j'annule ou que j'entre les informations de connexion. Je veux que mon programme saute de tels cas (sélectionnez annuler en quelque sorte).Supprimer l'invite de connexion IE par VB6?

Est-il possible que mon application VB6 puisse détecter si une invite existe et l'annuler afin que l'URL suivante puisse être chargée? Merci d'avance :)

Répondre

1

Edité

En fait, vous devez rechercher plusieurs autres types de fenêtres enfants et, comme javascript fenêtres d'alerte(). Vous ne cherchez pas de légendes de fenêtres (je me trompais), vous recherchez la fenêtre classnames.

Pour déterminer les noms de classe à rechercher (il n'y en a pas beaucoup), j'ai utilisé Spy ++. Puis, à l'exécution, j'ai appelé FindWindowEx() (pas FindWindow(), je me trompais là) pour voir si IE avait des fenêtres enfants avec ces noms de classe. Si j'en trouve un j'envoie le clic Annuler. (Je pense que vous pouvez également envoyer un message WM_CLOSE à la fenêtre, mais je ne suis pas sûr.)

Je n'ai pas mon ancienne source à portée de main - avez-vous besoin de plus de détails?

+0

Merci. Malheureusement, la légende n'est pas fixe, elle change d'un site à l'autre. Comment puis-je gérer cela? – mathon12

+0

Oui, ce serait vraiment utile. Je peux trouver une fenêtre en ce moment. Je reçois une valeur longue si une correspondance est trouvée et je pense que c'est la poignée de la fenêtre? Comment pouvez-vous lui envoyer le message Annuler le clic/WM_CLOSE? (Désolé, pas très bien avec l'API WIN32, merci.) – mathon12

+0

MISE À JOUR: l'utilisation de SendMessage a fait l'affaire! :) – mathon12

Questions connexes