Fenetre active

mekhanik Messages postés 33 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 20 mai 2007 - 1 avril 2006 à 12:28
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 - 11 avril 2006 à 20:06
Salut je cherche une api qui me permette de determiner au sein d'une application mutlifenetre laquelle est active (genre photoshop lorsque plusieurs fichiers sont ouvertes). GetForegroundWindow ne retrourne que l'application active et dans le cas de photoshop, on ne sait pas sur qu'elle image on travail. J'ai entendu parler de GetActiveWindow que fais cette api ? Est-il possible de récupérer l'application active dans ce cas ?
Merci d'avance

3 réponses

Schlangan Messages postés 47 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 11 décembre 2007
1 avril 2006 à 13:51
Bonjour Mekhanik,

Est-ce que tu cherches à déterminer quelle fenêtre est active dans ton propre programme, c'est-à-dire que tu utilises une interface MDI ?

Dans ce cas, tu n'as qu'à utiliser la propriété ActiveForm, qui est directement intégrée dans VB.

Exemple : Tu veux changer le contenu d'un label situé sur la fenêtre active :

MdiForm1.ActiveForm.Label1.Caption = "Nouveau nom"

Note : Ce code est pour VB6, et je ne sais pas si il fonctionne sous VB.NET
0
mekhanik Messages postés 33 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 20 mai 2007
1 avril 2006 à 14:25
salut Schlangan,
merci de ta réponse rapide mais ce n'est pas ça que je demandais ou du moins si mais pas pour mon appli pour n'importe qu'elle appli en général.
0
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
11 avril 2006 à 20:06
si tu connais le titre de chacune de tes fenetre, tu peux essayer ainsi:

Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( ByVal nom_classe As String, ByVal nom_fenetre As String) As Long

1) obtenir le handle de tes fenêtres
handle = findwindow(vbnullstring, "Fenetre1") ' attention titre exact, respecter la casse

2) handle de la fenêtre active:
r = GetActiveWindow
if handle r then> c'est la fenetre qui est active
voilà en espérant répondre à ta question:

slts!

API @ la Loupe
0
Rejoignez-nous