Savoir si une fenetre externe est ouverte [Résolu]

cs_aloisio11 126 Messages postés lundi 18 septembre 2006Date d'inscription 7 décembre 2009 Dernière intervention - 20 déc. 2006 à 10:37 - Dernière réponse : drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention
- 20 déc. 2006 à 11:06
Bonjour,

J'ai une application qui telecharge un fichier généré sur un lien web.
Je voudrais mettre un sleep sur l'appli tant que la fenetre "Téléchargement de fichier" n'est pas ouverte.

Le probleme est que je n'qrrive pas à détecter si la fenetre "Téléchargement de fichier" est ouverte ou pas ?

Si quelqu'un avait une idée ...

Merci d'avance
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 10:55
3
Merci
Chez moi ceci fonctionne très bien:



Public
 Class Form1
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim hwnd As Integer

        hwnd = Int(FindWindow(vbNullString, "Téléchargement de fichier"))

        If hwnd > 0 Then MsgBox("Fenêtre trouvé")

    End Sub
End Class





 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:

Merci drikce06 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 10:39
0
Merci
Salut l'api FindWindow!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 10:42
0
Merci
J'ai pas testé mais si mes souvenir son bon:

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

Dim hwnd as integer

hwnd = int(FindWindow(VBNullString,"Téléchargement de fichier")

If hwnd > 0 then MsgBox "Fenêtre trouvé"

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
cs_aloisio11 126 Messages postés lundi 18 septembre 2006Date d'inscription 7 décembre 2009 Dernière intervention - 20 déc. 2006 à 10:48
0
Merci
Merci Drikce06 mais même si la fenetre n'est pas ouverte int(FindWindow(VBNullString,"Téléchargement de fichier") me renvoi toujours un chiffre > 0

HELP PLEASE !!
Commenter la réponse de cs_aloisio11
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 10:52
0
Merci
Mets hwnd = 0 avant, mais si il ne trouve pas la fenêtre hwnd = 0 normalement! Tu es bien en .Net?
hwnd = int(FindWindow(VBNullString,"Téléchargement de fichier")

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
cs_aloisio11 126 Messages postés lundi 18 septembre 2006Date d'inscription 7 décembre 2009 Dernière intervention - 20 déc. 2006 à 10:56
0
Merci
Oui je suis .Net.

Cela ne marche pas élas ...

Aurait tu une autre solution ... ou quelqu'un d'autre ?

Je suis planté là, je vois vraiment pas comment faire
Commenter la réponse de cs_aloisio11
cs_aloisio11 126 Messages postés lundi 18 septembre 2006Date d'inscription 7 décembre 2009 Dernière intervention - 20 déc. 2006 à 11:00
0
Merci
T'es sur que tout hwnd est en Integer car si je test comme ça ca me fait un dépassement de capacité
Commenter la réponse de cs_aloisio11
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 11:01
0
Merci
Désolé mais j'ai pas d'autre solution! C'est la seule que je connaisse et elle fonctionne, du moins chez moi en tout cas!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 11:02
0
Merci
pour tester fais un nouveau projet avec une form et un bouton et copie mon code!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
cs_aloisio11 126 Messages postés lundi 18 septembre 2006Date d'inscription 7 décembre 2009 Dernière intervention - 20 déc. 2006 à 11:03
0
Merci
C'est bon ça marche, en fait j'avais mis :
Declare

Function FindWindow
Lib "user32"
Alias "FindWindowA" (
ByVal lpClassName
As
String,
ByVal lpWindowName
As
String)
As
LONG

Je suis trop bête ...

Mille merci Drikce06

Bon dev
Commenter la réponse de cs_aloisio11
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 11:04
0
Merci
oui j'en suis sur, normalement les api ont de types long mais pour qu'elles fonctionnent en .Net, il faut passer tout les long en integer!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 20 déc. 2006 à 11:06
0
Merci
Ok de rien, n'oublie pas réponse accéptée sur le post où il y a le code pour permettre aux autres membres de voir que ton problème a été résolu!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06

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.